git分支开发使用

背景


git支持很多种工作流程,我们采用的一般是这样,远程创建一个主分支,本地每人创建功能分支,日常工作流程如下:


去自己的工作分支

$ git checkout work

工作

....

提交工作分支的修改

$ git commit -a

回到主分支

$ git checkout master

获取远程最新的修改,此时不会产生冲突

$ git pull

回到工作分支

$ git checkout work

用rebase合并主干的修改,如果有冲突在此时解决

$ git rebase master

回到主分支

$ git checkout master

合并工作分支的修改,此时不会产生冲突。

$ git merge work

提交到远程主干

$ git push


这样做的好处是,远程主干上的历史永远是线性的。每个人在本地分支解决冲突,不会在主干上产生冲突



变基过程中常用的几个命令

例如我们需要将iss33变基到master分支上,使用命令git checkout iss33;git rebase master,此时会进入rebase模式,如果iss33和master分支中的提交有冲突,需要手动合并文件解决,解决冲突后使用git add表示冲突已经解决,git rebase --continue表示继续下一个冲突,git rebase --skip表示跳过当前冲突,git rebase --abort表示退出rebase模式,回到运行git rebase master命令之前的状态。

上一篇:nodejs节点使用redis


下一篇:查看oracle归档日志路径1