git stash pop两次后出错

时间:2015-02-11 05:02:59

标签: git git-stash

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

结果是第一个stash成功弹出,但第二个存储发生如下错误:

  

错误:合并后将覆盖对以下文件的本地更改:           甲

     

请在合并之前提交更改或存储更改。   中止

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

3 个答案:

答案 0 :(得分:2)

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

  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
    

答案 1 :(得分:0)

当我退回以下内容时,我自己花了很多时间处理这个问题:

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

发生这种情况的一个迹象是因为当有局部修改时无法合并。 Git试图保护你免于丢失这些变化。

我读过其中一个解决方案是(1)提交本地更改或(2)暂存或(3)丢弃它们。

或许请查看此链接以获取更多信息:Resolving Git merge conflicts

答案 2 :(得分:0)

您首先需要处理来自第一个pop的文件A的更改。提交他们并做第二次pop。然后你可以修改以前提交的更改或者做一个新提交。