Git中的Fast forward选项

Fast forward选项是直接将master的指针指向要合并的分支的位置,合并之后,原始的分支中的所有信息都会被删除。我们可以选择其他的合并方式。先给出我们测试的代码段。

git branch -b dev
vim readme.txt 
#修改readme文件中内容
git add readme.txt
git commit -m "add merge"
git checkout master
git merge --no-ff -m "merge with no-ff" dev
git branch -d dev

git branch -b dev
vim readme.txt
#修改readme.txt文件中的内容
git add readme.txt
git commit -m "Test2 in Branch dev"
git checkout master
git merge dev

之后输出修改日志如下:

ycwang@Y700:~/learngit$ git log --graph --pretty=oneline --abbrev-commit
* 0fe104a (HEAD -> master, dev) Test2 in Branch dev
* 10945d4 Branch test 2
*   5262c30 merge with no-ff
|\  
| * 72f283e add merge
|/  
*   e1c955b conflict fixed
|\  
| * d0e6106 AND simple
* | 6536364 & simple
|/  
* 4c2b68d branch test
* 5d9ff40 (origin/master) append GPL
* 4c93eef wrote a readme file

可以看出第一次的分支合并,留下了分支出现的痕迹,第二次的分支合并则只留下了master分支的记录。其他分支中更新提交的信息Test2 in Branch dev被放在了master分支中(Branch Test 2和当前测试无关,是一个其他的小测试,这里也被记录了)。这里的no-ff就是关闭Fast forward选项的分支合并。

另外,开发过程中,master通常是最终上线的版本,修改较少。通常更新的都是dev分支,每个开发人员在dev下创建自己的分支,然后当dev分支中的版本更新完成后,才会合并到master中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值