如何恢复选定的行或块

在Git GUI中,我可以选择diff的一部分,然后只显示那些行或块。 我如何做相反的事情,就像在文件中回滚更改的行一样。 通常这些都是意外的空白变化,我只想恢复,但仍然是阶段/提交同一个文件的其他部分。


对于Git Gui:首先,单击重新扫描扫描修改后的文件。 接下来,单击文件名左侧的图标以对提交进行所有修改。 然后,右键单击调试行并选择Unstage Line From Commit。

以上信息来自:http://nathanj.github.com/gitguide/tour.html


使用git add -p你想要的部分分开,然后放弃( git checkout -- filename )未分离的更改。

更新Git 1.6.5+

在版本1.6.5中,Git学会了使用-p/--patch标志签出。 你可以用git checkout -p -- filename一步丢弃块。

从文档:

在<tree-ish>(或索引,如果未指定)和工作树之间的区别中交互地选择hunk。 然后将选定的区块反向应用于工作树(并且如果指定了<tree-ish>,则索引)。

这意味着你可以使用git checkout -p有选择地放弃你当前工作树上的编辑。


在Git Gui中,

  • 分阶段包含不需要的更改的整个文件
  • 取消您想要恢复的行/区块
  • 在“未分级更改”窗格中选择文件,然后选择提交 - >还原更改以撤消对该文件的所有更改(未更新)
  • 资料来源:http://git.661346.n2.nabble.com/Revert-hunk-td4991128.html

    链接地址: http://www.djcxy.com/p/4175.html

    上一篇: How do I revert selected lines or chunks

    下一篇: Committing specific parts of a file in Git