GIT:取消应用隐藏-指定的修订版本过多

时间:2018-08-19 17:08:57

标签: git git-stash

很抱歉,该解决方案微不足道,但是我不是GIT专家,而且我在互联网上也找不到任何东西。

我隐瞒了一些更改,并且在恢复它们方面遇到了困难。也许我发送了两次git stash命令,希望这不会让我失去一切。

根据this questionofficial documentation,我尝试了以下命令:

git stash pop

我收到了

src/schema/schema-generator2.js: needs merge
unable to refresh index

所以我尝试了:

git merge
error: Merging is not possible because you have unmerged files

然后我尝试:

git stash apply stash@{0}
unknown option: -encodedCommand
git stash apply
src/schema/schema-generator2.js: needs merge
git stash apply --index
src/schema/schema-generator2.js: needs merge
git stash show -p stash@{0} | git apply -R
git : Too many revisions specified: 'stash@' 'MAA=' 'xml' 'xml'
In riga:1 car:1
+ git stash show -p stash@{0} | git apply -R
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (Too many revisi...A=' 'xml' 'xml':String) [], RemoteException
    + FullyQualifiedErrorId : NativeCommandError
error: unrecognized input

在上面的文本中,我将消息编写为代码,并将答案添加为引号。我希望一切都清楚。

我不知道发生了什么,为什么什么都不起作用?我该怎么做才能隐藏我的更改?

1 个答案:

答案 0 :(得分:0)

问题似乎在于隐藏的更改和分支的最新HEAD无法自动合并,特别是在src/schema/schema-generator2.js文件中

这意味着您将必须手动解决合并冲突

执行此操作的最佳方法是将隐藏的更改转换为补丁文件,然后尝试应用补丁文件。您仍然会看到合并冲突,但是可以更好地控制更改的解决方法

$ git stash show -p --color=never > my-stashed-changes.patch
# This should show the same merge error
$ git apply my-stashed-changes.patch
# modify the patch file to resolve conflicts and apply again