这是过去两周在分支 frontend
上的管道。
| Stash@{3}
是自 Stash@{1}
以来的所有代码(不包括两个微小的提交)
|微小的提交
|微小的提交
|两周前大量提交,现在重新定位并移至 Stash@{1}
我的工作树目前是干净的。
Stash@{1}
是两周前一般开发代码的批量提交的内容(这应该首先被 stash 起来)。此提交已撤消并移至存储区。
Stash@{3}
是自 Stash@{1}
以来对该树的最新工作(减去一些已提交的更改)。
我需要在我的工作树中将这两个存储组合在一起,这样我就可以从这个巨大的工作池中进行大量提交。
我运行了 git stash apply stash@{1}
然后我尝试了:
git stash apply stash@{3}
git stash show -p | git stash 应用 stash@{3}
但在这两种情况下我都得到了“脏工作树”。我怎样才能将这项工作 merge 在一起?因为 stash@{3}
较新,所以我希望它在有冲突的地方取代 stash@{1}
。
最佳答案
有点复杂,但这几乎总是有效:
pop 第一个 stash
$ git stash pop
暂时提交第一个存储的更改
$ git add . && git commit -am 'WIP'
pop 第二个存储
$ git stash pop
撤消临时提交,保留它引入的更改
$ git reset --soft HEAD^
关于git - 如何在 git 中组合多个存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9143865/