码迷,mamicode.com
首页 > 其他好文 > 详细

git rebase使用

时间:2020-04-02 11:41:14      阅读:75      评论:0      收藏:0      [点我收藏+]

标签:其他   idt   code   xxx   lease   dff   f11   Fix   自己   

场景:

  我们会发现,有时在临时分支开发某个功能需求,会有大量的bug fix提交,然而合并到主分支最终的影响代码并不多,这时候的merge操作,会形成大量没什么用的log。

  因此,合理的做法是merge前,将我们的临时分支提交做一次合并(前提,这个分支只有你一个人使用,或者保证这些提交都是可接受合并的)

操作:

例如,我们在tmp_bugfix_xxx提交了大量请求

技术图片

git checkout tmp_bugfix_xxx
#例如有以下提交,每个提交修改了x.txt
a1eedca4dffc0de291584a4d062bc1e9088e803f (HEAD -> tmp_bugfix_xxx) 修改,9
91b1b205cbef5aa86443cd1d730dc9d428293856 修改,8
3f877dd7b3c72584cdf1db7208397bccf57b2855 修改,7
c4d6d378117ea457aa0cde81e8dec2791bfaa90d 修改,6
8392f5bbc859120c83db0e1500866c9e2b4af7f7 修改,5
a54e6b877b62950beab19663eb0c1e16c4b8e5a5 修改,4
e017deb68c9c03d503c7e8add6266baa3d88105c 修改,3
0fbbb46325210aa9d1d58454071db84fb38bcabb 修改,2
5177b9fce9143338666df4f80eb99f11b677fac3 修改,1
#选择一个commit log作为最终log,其他的都选为fixup(抛弃日志),或者squash(保留log)
git rebase -i feature_xxx
pick 5177b9f 修改,1
fixup 0fbbb46 修改,2
fixup e017deb 修改,3
fixup a54e6b8 修改,4
fixup 8392f5b 修改,5
fixup c4d6d37 修改,6
fixup 3f877dd 修改,7
fixup 91b1b20 修改,8
fixup a1eedca 修改,9
#进行安全强推,更新远端(tmp_bugfix_xxx保证只有自己在用,否则其他人的提交会丢失)
git push
--force-with-lease origin tmp_bugfix_xxx
#合并到feature_xxx
git checkout feature_xxx
git merge tmp_bugfix_xx
# 查看日志,可以看到,9次提交都合并到一起
commit f76df0538e6129bbefeefd42ea49890bd8522722 (HEAD -> feature_xxx, origin/tmp_bugfix_xxx, tmp_bugfix_xxx)
    修改,1

 1.txt | 1 +
 2.txt | 1 +
 3.txt | 1 +
 4.txt | 1 +
 5.txt | 1 +
 6.txt | 1 +
 7.txt | 1 +
 8.txt | 1 +
 9.txt | 1 +
 9 files changed, 9 insertions(+)

git rebase使用

标签:其他   idt   code   xxx   lease   dff   f11   Fix   自己   

原文地址:https://www.cnblogs.com/naiyou/p/12618460.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!