有没有办法在实际合并它们之前检查两个分支之间的合并结果?
当尝试将分支A合并到分支B时,我通常从B检出一个临时分支,将其与分支A合并,然后我创建一个差异补丁,或者只是检查到该临时分支并在合并之前检查一切是否正常工作A到B.
git是否提供了可以实现此目的的命令或功能?
Kla*_*urn 20
正如Marian Theisen建议的那样,你可以这样做而不需要提交合并
git merge --no-commit <branchname>
Run Code Online (Sandbox Code Playgroud)
您可以退出该合并
git reset --hard
Run Code Online (Sandbox Code Playgroud)
另外,请记住,在Git中备份总是很容易.您可以进行完全合并,包括提交,检查完整的结果,如果您改变主意,则可以
git reset --hard HEAD^
Run Code Online (Sandbox Code Playgroud)
抛弃合并并在合并之前返回提交.
事实上,在合并解决期间的任何时候,你都可以做到
git reset --merge
Run Code Online (Sandbox Code Playgroud)
要中止合并并抛弃合并更改.
Sto*_*ica 18
我称之为"代码审查工作流程",并且一直这样做.
git merge --no-commit --no-ff branchname
Run Code Online (Sandbox Code Playgroud)
没有--no-ff旗帜,如果Git可以做快进,那么它就会这样做.(正如预期的那样,就像快进的情况一样,没有合并提交来创建.)
.gitconfig为方便起见,我有这个别名设置:
rev = merge --no-ff --no-commit
Run Code Online (Sandbox Code Playgroud)
这样我就可以做到:
git rev branchname
Run Code Online (Sandbox Code Playgroud)
我们的想法是,所有功能都是在不同的分支中开发的,每个功能都由作者以外的人审查和合并.正如其他答案指出的那样,您可以通过以下方式中止合并:
git reset --merge
Run Code Online (Sandbox Code Playgroud)
并要求作者做出更多改变.
要仅使用合并提交查看日志,我使用另一个别名:
revlog = log --first-parent
Run Code Online (Sandbox Code Playgroud)
这样,日志就成为大步骤的时间轴:按功能逐行而不是按提交提交.
为什么要这么麻烦呢?只需进行合并,测试它,如果您不喜欢它,则git reset --hard HEAD^返回到合并前状态。无论您是否决定保留合并,进行一些临时或中途合并只会增加您的工作量。
| 归档时间: |
|
| 查看次数: |
4733 次 |
| 最近记录: |