在 git 中,如果我的索引中有来自同一个文件的几个大块,我如何以交互方式取消其中一个?
是否有任何替代方法可以取消暂存整个文件,然后重新暂存我想要保留的块,或者手动撤消对工作副本的更改,然后以交互方式添加这些撤消的更改?
试试git reset --patch filename
;git add --patch
根据文档,这应该与此相反。简短形式-p
也适用于这两个命令。
git gui
有一个不错的 GUI 可以交互地展示或取消展示大块或线条。有更漂亮/更好的 GUI 客户端,但它们git gui
是轻量级的、内置的和跨平台的(lin、win、mac)。
https://git-scm.com/docs/git-gui
只需右键单击一个大块即可上演/取消上演。对于线条,首先突出显示线条,然后单击鼠标右键。
GitX有一个很好的 UI 用于取消暂存文件块:
官方客户端已经有一段时间没有维护了,但是在 GitHub 上一个具有更多功能的 fork 在某些圈子中很流行。(关于它的博客文章)