场景一:
两个人同时开发一个项目,并且发布到一个测试环境分别测试。当开发人员A发布代码时,可能会将B发布的代码覆盖掉。
为了两人的代码互补影响,需要一起维护同一个分支。
解决方案: 在master分支上新建一个分支dev-tem,该分支上有已发布的所有的代码,两人共同维护。
- 新建分支: git checkout -b dev-temp
- 开发人员分别在dev-temp分支上合并自己的分支: git merge origin/dev-cxh
(或者先使用 git fetch 将远程分支的最新更新拿回来,然后 git merge dev-cxh 合并代码)
当开发A需要发布代码时,需要进行如下操作:
- 把自己的代码提交 git add . ----------> git commit -m "A功能开发完成"
- 在 dev-temp 分支上合并自己的代码,方法同上。
- 将代码提交到远程,以便于其他开发人员获取 git push
- 获取其他开发人员提交的代码 git pull
- 在获取到别人的最新代码后,可以发布测试环境了 python run.py qa //这样发布的时候,把其他人的代码一同提交,不会造成代码的覆盖 影响其他功能的测试。
场景二:
同时开发两个功能,但是哪一个功能先上线不确定。两个需求之前没有关联。
若A需求先上线,那么未完成的B需求必然会响应代码的整体执行
解决方案:新建两个分支进行开发,每个需求在单独的分支上开发。
git checkout dev-c1
git checkout dev-c2
切换分支进行不同需求的开发。
——————————————————————————————————————————————————————————————————————————————————
推荐一篇笔记《Git fetch和git pull的区别》,讲的很清晰。共同学习~
http://blog.csdn.net/hudashi/article/details/7664457
——————————————————————————————————————————————————————————————————————————————————
另外git教程网站,内容非常全面,适合新手用作学习手册。连接如下
http://www.yiibai.com/git/