繁体   English   中英

Git:解决合并冲突后如何返回分支?

[英]Git: How do I return to the branch after fixing merge conflicts?

有时我在进行git merge时会发生合并冲突。 我会得到错误:

自动合并失败; 解决冲突,然后提交结果。

很好,我解决了冲突。

问题是,一旦发生这种情况,我似乎就被踢出了我正在研究的分支。 进行git branch只是向我展示了develop分支上的情况。

如果我尝试签出我正在处理的分支,则会收到错误消息

请先提交您的更改或存储它们,然后再切换分支。

如果我尝试提交或隐藏,则会收到错误消息:

您不在正确的分支上。

我唯一可以摆脱这种情况的方法是使用git reset --hard HEAD ,这当然意味着我会松懈所有工作。

有谁知道为什么会这样,我该怎么办?

  1. git status检查您现在的状态。

  2. git diff确认您已正确解决冲突。

  3. git add您的文件。

  4. git commit

    做你的其他工作...

我唯一可以摆脱这种情况的方法是使用git reset --hard HEAD,这当然意味着我会松懈所有工作。

您做错了:如果要退出当前进行中的合并,请使用git merge --abortgit reset --merge

或按照kagv所述完成当前合并。 没有第三种选择... git遇到冲突,需要您手动解决。 因此,请修复它或将其重置为稳定状态。

注意:当git检测到冲突时(在执行合并,变基或选择条件期间),您最终会以一种特殊的方式使用功能受限(例如,阻止您签出其他修订版...)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM