由于冲突,无法“git stash pop”

由于冲突,无法“git stash pop”

我有一个本地 git 存储库,里面有几个修改过的文件。然后我需要快速修复某个问题,所以我

  • 存储我的变更(git stash)
  • 编辑的文件(vi 文件)
  • 已提交(git commit)
  • 弹出存储(git stash pop)

这导致了冲突。

# On branch master
$ git stash pop
Auto-merging page/search.php
CONFLICT (content): Merge conflict in page/search.php
$ git status
# On branch master
# Unmerged paths:
#   (use "git reset HEAD <file>..." to unstage)
#   (use "git add/rm <file>..." as appropriate to mark resolution)
#
#   both modified:      page/search.php

如果我尝试清除更改并重新应用存储,则会发生同样的事情(冲突)。我不太关心 page/search.php,但我想从存储中获取其他文件。

有没有办法将存储转换为补丁或仅仅获取存储时的文件?

答案1

存储已应用于其他文件;page/search.php您只需要手动合并。之后只需运行git reset取消暂存更改并继续修改 - 或者git add ...提交。

答案2

已解决:

git stash show -p

答案3

执行命令后git stash pop,您必须手动解决冲突,然后git stash drop按照man git-stash建议手动执行。

相关内容