31

假设我已经隐藏了一些更改,并且我想将进一步的更改添加到同一个存储中(例如stash@{0})。是否有捷径可寻?将两个存储区组合成一个存储区怎么样?

4

2 回答 2

21

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

git stash pop [这将应用您上次隐藏的更改 stash{@0}] 然后再说一遍, git stash [这将创建新的 stash 将对 stash@{0} 的所有更改]

于 2014-12-05T11:24:40.107 回答
17

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

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

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

五年后,Powerslave在评论中提出:

完全不需要分支魔法。
你可以简单地

  1. 用你拥有的任何东西创建一个新的藏匿处。
  2. git stash apply两个变更集(你可以git stash pop改为,但在这种情况下,如果你不小心搞砸了,你就有麻烦了)。
  3. 使用这些合并的更改创建一个新的存储。
  4. git stash drop如果您使用其他两个变更集apply而不是pop
于 2011-11-09T04:59:24.417 回答