分布式版本控制系统Git简明教程(二)

分布式版本控制系统Git简明教程(二)

Git是目前世界上最先进的开源分布式版本控制系统。对于所创建的版本库中一切文本文件,网页,程序代码等发生的任何改动都会自动记录下来,例如当某次改动导致程序错误时可以回退至上一个改动前的版本,也方便了多人协作开发时每个成员都可以得到其他成员对项目的改动信息。而Git作为分布式版本控制系统,每个人的计算机就是一个服务器,改动信息在成员的计算机之间互相提交。摆脱了集中式服务器故障导致的成员版本控制系统瘫痪,只要一个成员的计算机可以正常工作,则可以将版本信息复制给其他成员,提高了系统的鲁棒性。

当我们已经通过Git在自己本地的计算机上创建版本库之后(具体创建方法详见分布式版本控制系统Git简明教程(一)),我们需要远程仓库来进行和别人协同工作。下面我们通过GitHub这个开源Git托管远程仓库,来说明远程仓库的创建和与本地仓库的关联。

一.创建GitHub账号并关联本计算机Git系统

GitHub账号的创建只需要在https://github.com网站根据提示创建即可,由于较为简单在此不赘述。创建好GitHub后,在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Git Bash,创建SSH Key:

$ ssh-keygen -t rsa -C "youremail@example.com"
#youremail@example.com是你自己的注册GitHub时的邮箱号

之后一路回车即可,如果一切顺利的话,可以在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。

登陆GitHub,打开“Account settings”,“SSH Keys”页面,然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容,这样你的本地计算机就和你的远程Git托管系统GitHub关联在一起了。

二.GitHub远程仓库与本地仓库关联

有两种情形可以实现GitHub远程仓库与本地仓库关联。

1.在本地创建本地仓库并导入文件,通过推送至GitHub创建远程仓库,实现本地远程关联。
2.在GitHub创建远程仓库并导入文件,通过克隆至本地创建本地仓库,实现本地远程关联。

2.1 对于第一种情况

创建本地仓库并导入工作文件至master分支,在本地仓库路径下,使用以下Bash命令实现GitHub端自动创建一个名为origin的远程仓库:

$ git remote add origin git@github.com:yourname/learngit.git
#其中yourname为你自己的GitHub账号名称

然后通过以下命令将本地仓库的master分支推送至GitHub远程仓库origin:

$ git push -u origin master #第一次推送加-u,之后本地文件有修改再推送则不加-u

2.2 对于第二种情况

在GitHub网站右上角的“New Repository”处创建远程仓库,并导入工作文件,GitHub的远程仓库默认是对外开源的,所有人都可以看到你的远程仓库内的文件,方便其他人加入你的项目共同开发,所以不要放入一些重要私密文件,当然可以设置为收费的私密模式。

在本地的自定义的文件夹路径下,使用以下Bash命令实现将远程仓库克隆至自定义文件夹并创建本地仓库:

$ git clone git@github.com:yourname/yourRepository.git
#其中yourname是你的GitHub账户名,yourRepository是你创建的远程仓库的名字

至此本地仓库与远程仓库的关联以及仓库推送与克隆操作介绍完成,此时Git分布式的优势已经大大体现。在团队合作完成一个项目时,可以从GitHub远程仓库克隆至自己的本地计算机仓库进行修改,修改完成后可以推送至远程库,和成员共享自动记录的详细修改内容。

但如果开发过程只有一条流程线,当你的代码未写完时就推送至远程仓库,导致别人无法继续工作,所以Git提供了分支功能,每个人从项目主线中创建自己的分支,各分支互不干扰,每个人自己的分支项目完成之后再合并至项目主线,提高了项目并行开发的效率。

相关内容将在分布式版本控制系统Git简明教程(三)中介绍。

欢迎大家持续关注!!!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值