无法检索git stash -即使在重复尝试和提交后,文件也不会合并

ubof19bj  于 2023-05-27  发布在  Git
关注(0)|答案(2)|浏览(162)

我在我的特定分支上做了一些更改-但被通知有一些更改需要从master中挑选。

  • 于是我切换到master:
  • git checkout master
  • git pull
  • git checkout my_branch
  • 然后我合并了:
  • git merge master
  • 然后我试着打开我的储藏室
  • git stash pop

但失败,并显示以下消息:

Auto-merging /file1
CONFLICT (content): Merge conflict in file1
Auto-merging /file2
The stash entry is kept in case you need it again.

1.因此,我通过编辑器中的编辑合并了文件- /file 1。添加/file 1并提交

  • 然后我试着弹出stash:
  • git stash pop

但它再次失败,并显示以下消息:

Auto-merging /file1
CONFLICT (content): Merge conflict in file1
Auto-merging /file2
The stash entry is kept in case you need it again.

不管我提交了多少次/file 1-我都被困在同一个循环中。
我也试着把我的收藏分了一下:

  • 解决合并
  • 添加/提交所有已解析的文件
  • 尝试分支藏匿-不起作用:
c:>git stash branch stash_branch

error: you need to resolve your current index first

file1: needs merge
  • 恢复头部也没有出现成功
C:>git revert HEAD
error: Reverting is not possible because you have unmerged files.
hint: Fix them up in the work tree, and then use 'git add/rm <file>'
hint: as appropriate to mark resolution and make a commit.
fatal: revert failed

我非常想要回我的藏匿-有什么办法或者我已经完全失去了我的藏匿?
我曾尝试重置合并和其他解决方案的建议,但无济于事。好像我把所有的存货都丢了。

tv6aics1

tv6aics11#

看起来你唯一做错的事就是一直想把剩下的东西重新涂上。记住,git stash pop意味着:* 运行git stash apply。如果成功,运行git stash drop。*
你的git stash apply是失败的,而不是成功的。所以git stash drop永远不会发生,这完全符合预期。
当合并失败时--不管你是如何调用合并的--你都要负责清理混乱。Git已经为你做了它能做的一切。其他的一切都取决于你。这就是你的第五步:
因此,我通过编辑器中的编辑合并了文件- /file 1。添加/file 1并提交
这就完成了git stash apply(“added file 1“1部分)。你做了一个新的提交,这也没问题,但请注意,通过省略git add file2,你 * 没有 * 提交git stash apply自己成功合并的更新后的file 2。
但随后您返回到步骤6,再次尝试重新应用隐藏。如果您对保存了git stash步骤中的所有内容感到满意,那么您需要做的就是使用git stash drop * 删除 * stash。
如果你不满意所有的东西都被保存了,那么就保留这个stash,或者使用git stash branch把它变成自己的独立分支。
我将其改为“file 1”,而不是“/file 1”,因为Git中的文件路径几乎不应该以/开头。

zqdjd7g9

zqdjd7g92#

最后,我提交了新的更改,然后弹出隐藏的更改,然后解决冲突!

相关问题