我想将 git stash 中的一些更改应用于一个提交,并将其余更改应用于另一个。
问问题
12278 次
4 回答
53
git checkout stash@{0} -- <filename>
您也可以使用列表或文件名全局执行此操作。
于 2015-08-29T00:22:40.853 回答
18
看起来您可以git checkout -p
与存储参考一起使用,例如 stash@{0}
. 这将让您从存储中逐个选择要应用于工作树的内容。
完成使用后git checkout -p
,您接受的更改将应用于您的工作树并添加到缓存/索引中,准备提交。您可以git checkout -p stash@{0}
多次使用,选择您想要的补丁并在此过程中多次提交。
于 2018-06-16T02:18:11.080 回答
10
仅对要更改的文件应用补丁。
git show --first-parent stash@{0} -- <file(s) in question> | git apply
于 2016-04-20T15:49:41.467 回答
7
解开隐藏...
git stash pop
...git add
在补丁模式下使用...
git add -p
...然后提交...
git commit -m "Partial stashed commit"
在没有阅读文档的情况下,这就是我很快想到的。狮子座的答案有更好的方法来实现这一点。
于 2013-03-04T23:09:21.187 回答