多人协同工作
1. 克隆工程
当合作伙伴bob希望改进我(test)的工作成果,bob执行:
$git clone /home/me/test newrepo
此命令用于克隆我的工作到bob的newrepo目录下。
请注意,此命令有可能会因为/home/me的目录权限问题而被拒绝
2. 协同开发结束
bob 完成开发后,在他本地提交
$git commit -a
bob提交自己的改进成果到自己的git仓库中,并口头告知我他已经完成了工作。
3. 合并
-
合并到主线
我如果非常非常信任bob的开发能力:$ cd /home/me/test $ git pull /home/bob/newrepo
pull命令的意思是从远端git仓库中取出(git-fetch)修改的代码,然后合并(git-merge)到我(rocrocket)的项目中去
**BTW : ** 读者要记住一个小技巧,那就是“git pull .”命令,它和git merge的功能是一样的,以后完全可以用"git pull ."来代替git merge
-
合并到分支
如果我不是很信任bob的开发能力:$ cd /home/rocrocket/project $ git fetch /home/bob/newrepo master:bobworks
此命令意思是提取出bob修改的代码内容,然后放到我(test)工作目录下的bobworks分支中
之所以要放到分支中,而不是master中,就是要我先仔仔细细看看bob的开发成果,如果我觉得满意,我再merge到master中,如果不满意,我完全可以直接git branch -D
4.同步
过了几天,bob如果想继续帮助我开发,他需要先同步一下我这几天的工作成果,只要在其当初clone的newrepo目录下执行git pull即可:
$ git pull
不用加任何参数,因为当初clone的时候,git已经记住了我(me)的工作目录,它会直接找到我的目录来取。
上一篇:Git基本操作(四)
下一篇:Git基本操作(六)