如何在Git中为存储添加进一步的更改

时间:2011-11-09 04:17:53

标签: git git-stash

假设我已经隐藏了一些更改,并且我想在同一个存储中添加更多更改(例如stash@{0})。是否有捷径可寻?将两个藏匿单合并成一个?

2 个答案:

答案 0 :(得分:13)

我没有看到任何允许修改现有git存储的“git stash”选项。

实现这一目标的可能方法是:

  • 存储您的其他更改(stash@{1}
  • 藏匿其他所有内容(stash@{2}
  • 从您当前正在修改的提交(tmp)中创建一个HEAD分支
  • git stash pop两次
  • git stash,创建一个包含其中内容的新stash@{1}
  • 删除您的临时分支并检查您在
  • 中的初始分支
  • git stash pop一次(恢复所有挂起的更改)
  • 继续你的选择性藏匿

五年后,Powerslave建议in the comments

  

分支魔法是完全没必要的   你可以简单地

     
      
  1. 使用您拥有的任何内容创建新藏匿。
  2.   
  3. git stash apply这两个更改集(您可以git stash pop代替,但在这种情况下,如果您不小心搞砸了就会遇到麻烦)。
  4.   
  5. 使用这些合并的更改创建新的存储。
  6.   如果您使用git stash drop代替apply ,则
  7. pop其他两个更改集   

答案 1 :(得分:10)

我认为我们不必遵循所有这些步骤,

git stash pop [这将应用你最后隐藏的更改存储{@ 0}] 再说一遍,git stash [这将创建新藏匿将所有更改保存到@ {0}]