git支持很多种工作流程,我们采用的一般是这样,远程创建一个主分支,本地每人创建功能分支。日常工作流程如下:
克隆一份开发代码仓库。
$.git clone http:// ... ( url )
建立自己的工作分支
$ git checkout work 工作 .... 提交工作分支的修改 $ git commit -a 回到主分支 $ git checkout master 获取远程最新的修改,此时不会产生冲突 $ git pull 回到工作分支 $ git checkout work 用rebase合并主干的修改,如果有冲突在此时解决 $ git rebase master
(主分支没有写权限的开发者,将本地分支推送到远程分支)
$.git push origin work (推送本地分支到远程分支,会自动创建一个work,分支);
(有权限的开发者,合并分支修改) 回到主分支 $ git checkout master 合并工作分支的修改,此时不会产生冲突。 $ git merge work 提交到远程主干 $ git push 这样做的好处是,远程主干上的历史永远是线性的。每个人在本地分支解决冲突,不会在主干上产生冲突。