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”一词;)