协同开发一般有两种方式:
1、合作者,将其他用户添加到仓库合作者之后,该用户就可以向当前仓库提交代码。
2、组织,创建一个组织,然后再该组织下创建多个项目,足能成员可以向组内所有项目提交代码。PS:也可以对某个项目指定合作者。
协同开发命令和以上步骤类似,此处就不再重新写代码,而是使用文件描述三人协同开发整个过程。
创建程序
用户A创建程序,提交到GitHub
用户B克隆项目
用户C克隆项目
开发功能
用户A开发功能1
用户B开发功能2
用户C开发功能3
提交
用户A提交功能1,并push(A用户手速快,先提交)
用户B提交功能2,无法push,因为GitHub上已经有其他人提交的新代码。
解决方法:从GitHub上获取最新代码并合并到本地,提交自己开发的功能2。
用户C提交功能3,无法push,无法提交,因为GitHub上已经有其他人提交的代码。
解决方法:从GitHub上获取最新代码并合并到本地,提交自己开发的功能3。
获取最新代码
用户A获取最新代码
用户B获取最新代码
用户C获取最新代码
在上面的解决方法可以有三种方式操作,三者都可以完成合并并提交新功能,但是日志记录会有差异,如:前两者版本记录中会出现合并,而第三种可以保证版本记录干净整洁。
先 git pull origin master 然后 git push origin master
先 git fetch origin master 然后 git merge origin/master 再 git push origin master
用户A:
touch 4.py
git add .
git commit -m '功能4'
git push origin master
用户B:
touch 5.py
git add .
git commit -m '功能5'
git push origin master # 报错,因为GitHub中已经有人提交新代码
git pull origin master
git push origin master
先 git fetch origin master 然后 git rebase origin/master 再 git push origin master
用户A:
touch 4.py
git add .
git commit -m '功能4'
git push origin master
用户B:
touch 5.py
git add .
git commit -m '功能5'
git push origin master # 报错,因为GitHub中已经有人提交新代码
git fetch origin master
git rebase origin/master
git push origin master
参考:http://www.cnblogs.com/wupeiqi/p/7295372.html