分支
建议多使用分支来维护项目,便于保证主干的稳定性。
创建分支
git中创建分支的方法非常简单:
#git branch <branch-name> $ git branch dev
这样便从当前分支创建了一个名为dev的分支,可以让此分支作为开发分支。使用checkout <branch-name>可以很方便地在分支间进行切换:
$ git checkout master $ git checkout dev
还可以直接使用checkout -b命令来创建分支后并切换到新的分支
$ git checkout -b dev
重命名分支
$ git branch -rm <old-branch> <new-branch>
远程分支
推送本地分支到远程服务器
$ git push <remote> <branch-name>[:<remote-branch-name>]
远程分支名如果省略,则使用本地分支名作为远程分支名
$ git push <remote> <branch-name>
删除分支
# 删除分支 $ git branch -d <branch-name> # 强制删除分支 $ git branch -D <branch-name>
删除远程分支
$ git push <remote> :<remote-branch-name>
这个命令是不是可以从推送本地分支到远程分支的命令中得到一点灵感?是的,省略本地分支名后,远程分支即被删除!
查看分支
使用git branch命令可查看当前git版本库中所有分支:
$ git branch
![查看分支 查看分支](http://omiga.org/img/branch.jpg)
查看分支
当前分支会在分支前加以星号(*)标注。
git branch -v命令将附加显示最后一次提交相关信息的分支信息
$ git branch -v # 查看已合并的分支 $ git branch --merge # 查看未合并的分支 $ git branch --no-merged
分支合并
当一个分支完成预期的工作,通过测试后,便可合并到主干,作为稳定版本进行后续开发,合并分支的命令非常简单:merge branch-name
$ git merge dev
如果顺利,dev分支将自动地合并到当前分支。当然很多时候会产生冲突,这个时候就需要手动坚决冲突后再进行合并。
在git中如遇冲突,会显示冲突提示,合并会中断
![conflict conflict](http://omiga.org/img/conflict.jpg)
conflict
此时你可以使用git mergetool命令调用merge工具进行手动合并
$ git mergetool
mergetool在配置项进行配置,以下是使用vimdiff的merge操作界面
![mergetool vimdiff mergetool vimdiff](http://omiga.org/img/mergetool.jpg)
mergetool vimdiff
手动解决完冲突后,还需要进行一次提交,便完成了整个手动合并过程。