我正在做一个使用Git作为VCS的项目。我从master的主线分支中截取了一条xyz分支。在工作了一段时间后,我提交了我的代码,并使用了分支主线。
拉得很好。然后我将代码与master合并。合并后,某些文件出现了问题。合并后我没有提交代码。是否有人可以指导我如何终止这次合并,并将我目前工作的分支带到我合并它之前的状态?
我正在做一个使用Git作为VCS的项目。我从master的主线分支中截取了一条xyz分支。在工作了一段时间后,我提交了我的代码,并使用了分支主线。
拉得很好。然后我将代码与master合并。合并后,某些文件出现了问题。合并后我没有提交代码。是否有人可以指导我如何终止这次合并,并将我目前工作的分支带到我合并它之前的状态?
当前回答
说实话,网上已经有很多很多资源来解释如何做到这一点:
Git:如何反向合并提交?
Git:如何反向合并提交?
撤销合并,摘自Git的博客(检索自archive.org的Wayback Machine)
所以我想我会总结其中的一些:
Git恢复<合并提交哈希> 这将创建一个额外的“恢复”提交,表示您取消了合并 Git重置——hard <commit hash *before* merge> 这将重置历史到合并之前。如果你在合并后有提交,你需要在合并后对它们进行筛选。
但说实话,这个指南比我用图表解释的任何东西都要好!:)
其他回答
只要你没有提交,你就可以打字
git merge --abort
正如命令行所建议的那样。
如果你在合并冲突时执行“git status”,git会首先告诉你如何终止合并。
说实话,网上已经有很多很多资源来解释如何做到这一点:
Git:如何反向合并提交?
Git:如何反向合并提交?
撤销合并,摘自Git的博客(检索自archive.org的Wayback Machine)
所以我想我会总结其中的一些:
Git恢复<合并提交哈希> 这将创建一个额外的“恢复”提交,表示您取消了合并 Git重置——hard <commit hash *before* merge> 这将重置历史到合并之前。如果你在合并后有提交,你需要在合并后对它们进行筛选。
但说实话,这个指南比我用图表解释的任何东西都要好!:)