我可以交互式地从另一个git提交中挑选帅哥吗?

kro*_*old 25 git

我正在寻找与此完全相同的行为

git add -i -p
Run Code Online (Sandbox Code Playgroud)

但是我没有从我的工作目录中编写提交,而是想从提交的(部分)编写我的工作目录.我怎样才能做到这一点 ?

我的用例是我有几个不同的功能在一个提交中组合在一起,我想逐个测试它们

使用cherry-pick -n并不是真正令人满意,因为它让我完成了删除所有不需要的代码的肮脏工作.我真的只想选择我想要测试的选定更改.

Mar*_*utz 31

使用cherry-pick -n并不是很令人满意,因为它让我不得不删除所有不需要的代码.我真的只想选择我想要测试的选定更改.

之前的工作可能是一个肮脏的工作,但随着它的出现git checkout --patch,您现在可以选择性地丢弃更改,类似于git add -p添加.


Cam*_*ner 10

你可以git reset --mixed HEAD^1用来恢复索引,然后选择你想要的帅哥git add -i.

reset将回滚该指数上一次提交(基本上未犯什么是HEAD),但不会触及工作树.你现在可以放置你想要的帅哥,提交它们并用一个东西扔掉其余的东西git reset --hard HEAD.

  • +1作为一个非常小的注释,`--mixed`是`git reset`的默认值,因此您可以将该选项保留. (3认同)