git stash pop 两次后出错

error after git stash pop twice

我有一个文件 A 和 2 都存储了修改后的文件 A,然后我 运行 命令 'git stash pop' 两次。

结果是第一个stash弹出成功,但是第二个stash出现如下错误:

error: Your local changes to the following files would be overwritten by merge: A

Please, commit your changes or stash them before you can merge. Aborting

我需要两个存储,而且我不想在第一次存储弹出后提交。 那么我该如何解决这个问题呢?有没有办法让我合并这 2 个存储然后只弹出一次以满足我的要求?

当我返回以下内容时,我自己花了很多时间解决这个问题:

error: Your local changes to the following files would be overwritten by merge

发生这种情况的一个迹象是,当存在局部修改时无法合并。 Git 试图保护您不丢失这些更改..

我读到其中一种解决方案是 (1) 提交本地更改或 (2) 临时存储它们或 (3) 丢弃它们。

也许看看这个 link 以获得更多信息:Resolving Git merge conflicts

您首先需要处理第一次弹出时文件 A 的更改。提交它们并做第二个 pop.You 然后可以修改对先前提交的更改或做一个新的。

如果不提交更改,您将无法执行此操作。

  1. 弹出第一个存储空间。

    git stash pop
    
  2. 添加并提交

    git commit -m 'temp commit'
    
  3. 弹出第二个存储

    git stash pop
    
  4. 添加和修改上次提交

    git commit --amend --no-edit
    
  5. 撤消上次提交并将上次提交的更改带到未暂存区域

    git reset HEAD~1