在实际合并之前,有没有办法检查两个分支之间的合并结果?
当尝试将分支A合并到分支B时,我通常从B签出一个临时分支,将它与分支A合并,然后我会创建一个不同的补丁,或者只是签出到那个临时分支,并在将A合并到B之前检查是否一切正常。
git是否提供了可以完成此任务的命令或功能?
发布于 2013-05-28 02:32:19
正如Marian Theisen建议的那样,您可以这样做,以便在不提交的情况下进行合并
git merge --no-commit <branchname>您可以使用以下命令退出合并
git reset --hard此外,请记住,在Git中改变主意并返回到以前的状态总是很容易的。你可以做一个完整的合并,包括提交,检查完整的结果,如果你改变了主意,你可以
git reset --hard HEAD^丢弃合并并返回到合并之前的提交。
实际上,在合并解析过程中的任何时候,您都可以这样做
git reset --merge中止合并并仅丢弃合并更改。
发布于 2013-05-28 02:46:22
我称之为“代码评审工作流”,并且一直在这么做。
git merge --no-commit --no-ff branchname在没有--no-ff标志的情况下,如果Git可以进行快进,那么它就会这么做。(正如预期的那样,在快进的情况下,没有要创建的合并提交。)
为了方便起见,我在.gitconfig中设置了这个别名:
rev = merge --no-ff --no-commit这样我就可以简单地做:
git rev branchname其想法是,所有功能都是在单独的分支中开发的,每个功能都由作者以外的其他人审查和合并。正如其他答案所指出的,您可以使用以下命令中止合并:
git reset --merge并要求作者做更多的修改。
要查看仅包含合并提交的日志,我使用以下别名:
revlog = log --first-parent这样,日志就变成了大步骤的时间线:一个特性一个特性,而不是一个提交一个提交。
发布于 2013-05-28 02:43:11
为什么要这么麻烦呢?只需执行合并,测试它,如果您不喜欢它,然后使用git reset --hard HEAD^返回到预合并状态。做一些临时的或中途的合并只会增加你的工作量,不管你决定要不要保留合并。
https://stackoverflow.com/questions/16777058
复制相似问题