有没有一种方法可以自动添加压缩后的所有提交注释mybranch
执行时提交
git merge --squash mybranch
这样单个提交包含所有提交注释的串联mybranch
我认为这就是“git merge --squash”自动执行的操作!只需使用“git commit --no-edit”进行提交,我想这就是你会得到的。运行“git merge --squash”命令后,我立即看到 .git/SQUASH_MSG 中的所有提交消息。你?
就我个人而言,我会挤入 master,然后将结果强制推回我的主题分支。这样我的最终提交就可以通过拉请求进行代码审查。
现场示例(尝试这些确切的命令,这使用我的演示服务器,并且确实有效):
git clone http://vm.bit-booster.com/bitbucket/scm/bb/rebase-example-2.git
cd rebase-example-2
git checkout branch
git reset --hard origin/master
git merge --squash origin/branch
git commit --no-edit
git show
commit 74656c51212526af49382c985419244737141217
Author: G. Sylvie Davies <[email protected] /cdn-cgi/l/email-protection>
Date: Mon Dec 26 22:07:50 2016 -0800
Squashed commit of the following:
commit 3120cbba4e94e0a81eed2f9ff42e7012cca996bf
Author: G. Sylvie Davies <[email protected] /cdn-cgi/l/email-protection>
Date: Thu Dec 15 18:24:02 2016 -0800
b2
commit ccb522334464879b8f39824031c997b57303475d
Merge: 6b85efb 026bf0c
Author: G. Sylvie Davies <[email protected] /cdn-cgi/l/email-protection>
Date: Thu Dec 15 18:13:35 2016 -0800
m
commit 6b85efbddbb74d49a096bfc54fd4df15e261b72f
Author: G. Sylvie Davies <[email protected] /cdn-cgi/l/email-protection>
Date: Thu Dec 15 18:12:51 2016 -0800
b1
此时,我建议执行“git push --force-with-lease”,将压缩的提交提交到远程主题分支,准备进行代码审查。
注意:我在示例中做了一件奇特的事情。我实际上是在挤入 origin/master,而不是本地 master,我首先执行“git checkoutbranch”和“git reset --hard origin/master”。这让我当地的主人不会因为这次行动而感到不安,这样我在那里可能做的任何事情都不会受到影响。
我使用的是 Git 2.7.4。也许年长的人表现得不同,我不知道。
如果您想在 Web UI 中完成这一切,并且您碰巧使用的是 Atlassian Bitbucket Server(本地版本),您可以安装我的位增强器 https://marketplace.atlassian.com/plugins/com.bit-booster.bb/server/overview付费附加组件,然后点击它在拉取请求上放置的大“南瓜”按钮。它执行完全相同的操作,只不过仅连接非合并提交消息。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)