1.从服务器获取代码 : git clone git@git.xxx.com
2.创建自己的开发分支:git branch my_develop
3.切换到开发分支:git checkout my_develop
4.添加文件:git add myfile.txt
5.提交本地修改:git commit -m "添加了xx接口"
6.回到主分支:git checkout master
7.获取远程的最新修改并自动合并:git pull //此时不会产生冲突,因为你本地修改在my_develop分支上
8.切换到开发分支:git checkout my_develop
9.用rebase合并主干的修改,如果有冲突在此时解决:git rebase master
10.回到主分支:git checkout master
11.合并工作分支的修改:git merge my_develop //因为冲突已经解决过了,所以此时不会再产生冲突。
12.提交到远程主干:git push
这样做的好处是mster主干上历史是线性的,每个人在本地分支上解决冲突,master主干上不会产生冲突
################################################################################################
补充其他常用操作:
1.拣选合并:
拣选另一条分支上的某个提交条目的改动带到当前分支上。
每一次提交都会产生一个全局唯一的提交名称,利用这个名称就可以进行拣选提交。
比如在dev上的某个提交叫:321d76f
把它合并到master中:
git checkout master
git cherry-pick 321d76f
要拣选多个提交,可以给git cherry-pick命令传递-n选项,比如:
git cherry-pick –n 321d76f
这样在拣选了这个改动之后,进行暂存而不立即提交,接着可以进行下一个拣选操作,一旦拣选完需要的各个提交,就可以一并提交。
2.删除分支:删除一个分支dev2:
git branch –d dev2
注意不能删除当前所在分支,需要转到别的分支上。
如果要删除的分支已经成功合并到当前分支,删除分支的操作会直接成功。
如果要删除的分支没有合并到当前所在分支,则会出现提示,如果确定无须合并而要直接删除,则执行命令:
git branch –D dev2
进行强删。
3.重命名分支:
git branch –m oldname newname
-m不会覆盖已有分支名称,即如果名为newname的分支已经存在,则会提示已经存在了。
如果改成-M就可以覆盖已有分支名称了,即会强制覆盖名为newname的分支,这种操作要谨慎。
4.删除远程分支(谨慎操作):
git push origin :branch_name