赞
踩
背景
使用GIT这么久了从来没有深层次的研究过,一般情况下,只要会pull
,commit
,push
等几个基本提交命令就可以了,公司的项目分支管理这部分操作一直都是我负责,对于分支的合并我一直都使用merge
操作,也知道还有一个rebase
,但是一直不会用,百度了很多,说的基本都差不多,按照步骤在公司项目里操作,简直就是噩梦,只要rebase
就出现噩梦般的冲突,所以一直不敢用,今天自己捣腾了一番终于领略到一些,不多说直接进入干货。
先来两张合理使用rebase
,merge
和只使用merge
的对比图
使用 rebase
使用 merge
使用 rebase
和 merge
的基本原则:
rebase
merge
--rebase
参数 例如现有上游分支 master,基于 master 分支拉出来一个开发分支 dev,在 dev 上开发了一段时间后要把 master 分支提交的新内容更新到 dev 分支,此时切换到 dev 分支,使用 git rebase master
等 dev 分支开发完成了之后,要合并到上游分支 master 上的时候,切换到 master 分支,使用 git merge dev
一、创建两个GIT项目,project1
和 project2
,同时分别加入三个文件并提交master
分支
- $ git clone git@gitlab.xpaas.lenovo.com:baiyl3/project1.git
- $ cd project1
- $ touch file1 file2 file3
- $ git add .
- $ git commit -m '在项目一中初始化三个代码文件'
- $ git push -u origin master
-
- $ git clone git@gitlab.xpaas.lenovo.com:baiyl3/project2.git
- $ cd project2
- $ touch file1 file2 file3
- $ git add .
- $ git commit -m '在项目二中初始化三个代码文件'
- $ git push -u origin master
从代码提交时间轴图看两个项目现在的状态都一致
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。