Answers:
尝试git reset --patch filename; git add --patch根据文档,这应该与之相反。简写形式-p也适用于两个命令。
git stash save --keep-index保存和重置当前工作副本更改。然后,您可以重置文件并撤消不需要的更改。如果首先将文件复制到某个临时位置,则可以diff用来保存撤消的更改。然后,您可以再次添加文件(无需交互添加,因为您隐藏了其他您不感兴趣的更改)。用于git stash pop取回旧更改,并diff应用您撤消的更改。相当麻烦……:-(
The short form -p also works for both commands...你的意思是git reset -p filename?
git add -p filename有选择地从该文件中git reset -p filename转移更改,并有选择地撤消更改。还有git checkout -p -- filename,可以让您有选择地丢弃文件中的更改。警告:add和reset都可以用来撤消两者中的另一个,但是如果使用这种形式的checkout放弃更改,则无法将其取回。
git gui具有不错的GUI,可以交互式地上演或不上演大块或线条。有更好/更好的GUI客户端,但是它们git gui是轻量级的,内置的和跨平台的(lin,win,mac)。
https://git-scm.com/docs/git-gui
只需右键单击大块即可上台/下台。对于线条,请先突出显示线条,然后单击鼠标右键。
git gui,除非我不确定我是否会使用“ nice”一词;)