我将未提交的更改带到另一个分支,现在无法将其移回

我使用Github Desktop是因为我不太了解git。

我所做的就是在一个分支中更改一些代码,然后在不提交更改的情况下切换到我的master分支(携带所有未提交的更改)。现在,当我尝试使用相同的未提交的更改返回原始分支时,Github Desktop给我一个错误:

“错误:您需要先解决当前索引”

我相信它认为我正在尝试将代码合并到我的master分支中?尽管我很确定自己之前从未在master分支中进行过未提交的更改。

我可以看到我的所有更改都在主分支代码中内联,但是周围有多余的行,例如“ >>>>>>>隐式更改”。 / p>

我不确定该怎么做,因为如果这确实是我的要求,我不想合并这样的代码。我只想将更改移回另一个分支,好像从未将它们移到另一个位置一样。

再说一次,由于它们是未提交的更改,因此我不能仅还原。对吧?

我不知道是什么迫使我将更改首先带到master分支。

iCMS 回答:我将未提交的更改带到另一个分支,现在无法将其移回

因此,我认为我们可能需要更多信息,但是我将继续进行一些假设。

我假设github桌面做了一个git stash,然后更改了分支,然后弹出了stash ...但是这导致了合并冲突,所以... 首先要做的是获取包含存储库的文件夹的完整副本-备份它。现在,我们可以安全地处理您的存储库并尝试一些操作。

因此,当隐藏存储弹出合并失败(由于冲突)时,我认为隐藏不会被删除。您可以通过以下方法进行检查:git log --graph --oneline --all --decorate-您应该看到类似(参见参考资料/藏匿处)的信息:

*   edc243c (refs/stash) WIP on test_branch: 85a2f16 added test3   <---- THIS
|\
| * 005e78b index on test_branch: 85a2f16 added test3
|/
* 85a2f16 (test_branch) added test3

因此,我们应该将您的本地更改存储在单独的提交中,并且我们可以安全地撤消合并并返回到您的旧分支并取消存储更改(如果我的假设正确)。步骤如下:

  1. 清除/取消合并:git reset HEAD --hard(同样,请确保先备份)
  2. 现在结帐您的原始分支git checkout my_branch
  3. 现在取消存储您的更改:git stash pop

现在,您应该看到修改后的文件又出现了,并且当您执行git log --graph --oneline --all --decorate时,您会看到存储区已被删除(弹出)。

本文链接:https://www.f2er.com/1982304.html

大家都在问