本文内容要点:
远程仓库选择
注册远程仓库帐号
创建远程仓库
使用用户邮箱+密码以HTTPS方式访问远程仓库
使用SSH访问远程仓库
往远程仓库推送版本代码
从远程仓库拉取最新版本代码
1.远程仓库选择
我们上一节学会了在我们自己电脑上面通过Git来操作管理代码版本的核心操作,但是这样有个问题就是版本库都是在我自己电脑上面的,一旦电脑硬盘挂了,那么我依然还是可能一无所有啊;并且,代码库在我自己的电脑上面,如果我电脑没有设置为服务器,那么其他的电脑就无从访问,为了解决这些个问题,我们就需要把我们版本库部署到一台方便大家访问的服务器上面,这个不在我们自己电脑上面的仓库,我们就可以叫远程仓库,目前有两种方案:
方案一:自己搭建一台服务器,上面安装Git相关的软件,然后24小时开机让大家能够访问
方案二:使用第三方的Git托管服务,例如:码云(gitee.com)和Github(github.com)等
相对于第一个方案,因为要自己独立搭建,工作量和费用成本都较高;所以,我建议使用方案二。
码云是国内的,我已经使用了快5年了,一直都很稳定,速度也快,免费支持私有和开源项目,极力推荐,同时也向这些默默付出的团队致敬!建议无论是私有项目还是开源项目可以首选码云
Github在国外,访问起来有点慢,并且私有项目需要收费,建议开源项目可以放到上面去。【更新:2019年1月8日,Github宣布私有仓库免费】
我们本篇文章将介绍码云的使用
码云的基本使用
1.注册码云远程仓库帐号
访问码云:http://www.gitee.com ,注册账号:
2.创建远程仓库
帐号创建好之后,我们在码云的控制面板中创建远程仓库,建议一个项目可以建立一个仓库,仓库可以选择私有或者是开源公开:
你可以在该项目的设置里面设置相关更多的设置和加入其他项目用户:
3.使用用户邮箱+密码以HTTPS方式访问远程仓库
远程仓库已经创建好了,接下来我们要与本地的仓库对接起来,然后把本地仓库的版本库代码推送到码云云端存储备份,我们使用码云的邮箱帐号的https方式来访问,这个访问方式操作快捷方便,只是每个项目都要设置,另外要注意只在自己安全的本机使用,以防止密码等信息泄漏
- 获取码云https访问地址:项目右边,选择HTTPS,然后复制该网址即可
- 使用远程仓库最佳的做法是:每个项目新开始的时候,先在远程仓库建立好项目仓库,然后从远程仓库clone(克隆)回来,然后再在clone好的文件夹里面开发,由于在上一节的Git项目里面有Git的历史版本了,为了避免麻烦,我们新建一个项目根目录git_test,然后在根目录空白处右键 > Git Clone...,粘贴刚才复制的https地址到里面;下面的Directory就是本地保存的目录,粘贴完地址后有可能会自动帮你加上一个目录,如果不需要就手工去除。Git Clone表示从远程克隆一个仓库到本地,也就是在本地建立一个和远程仓库一样的仓库。
- 接着需要把用户邮箱和对应的密码输入才可以访问,输入的格式举例:https://邮箱名%40邮箱域名:密码@gitee.com/lovexkd/git_test.git,邮箱的 @ 要用 %40 来转义代替,密码和用户名之间用英文 :号隔开,假如我的帐号是:xing@xx.com,密码是:123456,那么最终的Git访问地址是:https://xing%40xx.com:123456@gitee.com/lovexkd/git_test.git。填写好之后,点击OK,对话框出现绿色成功提示,文件目录下出现相关的README.MD(码云默认创建)文件,表示从码云远程仓库拉取版本成功,本地版本库和码云远程仓库已经建立好了关联。如果对话框为红色,表示克隆失败,请检查重试。
4.使用SSH访问码云
我们使用用户邮箱+密码的方式访问了码云,但是有些时候每个项目都要这样输入用户名密码比较麻烦,并且https传输的速度相对SSH要慢一些,所以,我们接下来介绍使用SSH来访问码云。(码云帮助:http://git.mydoc.io/?t=154712 )
生成公钥,添加到码云,生成PPK私钥:
- 项目根目录下空白右键 > Git Base Here
- 输入如下代码生成 sshkey,其中邮箱需要换为你自己的邮箱,然后按3次回车,得到如下图2:
ssh-keygen -t rsa -C "xxxxx@xxxxx.com"
- 执行如下代码,查看public key,结果如下图,复制该代码:
cat ~/.ssh/id_rsa.pub
- 打开码云控制面板,在设置里面找到SSH公钥 > 添加公钥字眼,自定义一个公钥标题,然后把复制的代码粘贴进去,按确定,添加成功会进入到公钥列表,看到刚才添加的公钥:
- 在Git Base中输入:
ssh -T git@gitee.com
yes后返回如下,表示公钥添加成功:
- 添加成功后,我们需要通过TortoiseGit的PuTTYgen工具生成ppk文件,在开始菜单中,找到TortoiseGit的菜单组下面的PuTTYgen应用,打开
- 找到我们刚才用Git Base生成的id_rsa文件,默认保存在C:\Users\windows用户.ssh中(windows用户需要改成你的电脑用户)
- 执行PuTTYgen的菜单Conversions > import key,选择私钥:id_rsa,打开后,选择Save private key(保存私钥),保存好这个.ppk文件文件,后面所有的码云项目就都可以通过该文件来实现SSH的访问
通过生成的PPK私钥,实现SSH访问码云:
在上面我们花费了很大精力生成了一个PPK私钥,我们接下来就简单了,为了与上面的https访问区分,我建立一个新的文件夹来实现SSH的访问:
- 找到ssh的访问地址,也是在码云的项目控制面板中,找到ssh地址:
- 根目录下Git clone...,然后在Load Putty Key中找到刚才生成的PPK私钥,点击OK即可
- 至此就可以实现使用SSH或https来克隆码云远程仓库了,太不容易了。。。。
5.往远程仓库推送版本代码
写好代码后,先执行上一节提到的,把代码先commit到版本库,然后push,如果push出错,有可能是有人推送了新代码到远程代码库,这时就需要先pull下来。push成功后,你也可以在码云的仓库面板中看到相应的代码文件哦。
6.从远程仓库拉取版本代码
新项目拉取代码可以使用Git clone...(详情参见前面的操作);
已有项目平常的更新拉取,只需在本地目录下面执行:右键 > TortoiseGit > pull即可,拉取成功后显示一个绿色的进度条
小结
上一节中,我们已经学会了在本地管理代码版本,其实这一节要做的的事情就是把本地的版本库往远程版本库推送、拉取代码,核心执行的操作就是push、pull等,其他的都是一次性配置,以后操作基本就很方便使用了。
通过这一节学习,你就可以把代码保存在云端,你也可以试试在多个电脑建立代码仓库(比如:在公司和家里各建立一个代码仓库),然后通过push和pull来进行代码的更新同步,你会发现,这样的开发体验太爽了。
另外,需要注意的是:提交到码云的单个文件不要超过100M,尽量不要提交PSD等这样的大体积文件。
要养成良好的习惯:
每天开始写代码前,首先从远程pull最新的代码下来,防止别人改动了,我们没有更新到,引起冲突;
写好某个模块代码后需要commit到代码库,同时需要push到远程代码库保存,至少每天写完代码后下班的时候要推送一次到远程代码库!