dot*_*hen 3 git diff dvcs command-line-interface revert
在做出承诺之前,我发现git diff我已经做出了一些我宁愿不做的改变。有什么办法可以恢复这个单一的改变吗?
我想我可以用来git add -p提交我打算做的更改,然后检查master。有没有更好的方法,最好是不需要我承诺的方法?
这是 Kubuntu Linux 12.10 上的 Git 1.7.10.4。谢谢!
git reset --patch(或者git reset -p) 做你想做的事。
文档的相关部分:
\n\n\n\n\ngit 重置 (--patch | -p) [] [--] [\xe2\x80\xa6]
\n\n以交互方式选择索引和之间差异的帅哥(默认为 HEAD)。所选择的帅哥将反向应用于索引。
\n\n这意味着 git reset -p 与 git add -p 相反,即您可以使用它来选择性地重置 hunk。请参阅 git-add(1) 的 \xe2\x80\x9cInteractive Mode\xe2\x80\x9d 部分,了解如何操作 --patch 模式。
\n
请注意,git reset(应用于路径)确实匹配git add- 后者暂存文件或块,而前者取消暂存它们,因此git reset支持该--patch选项,就像git add选项。
您可能还有兴趣了解git checkout --patch(或git checkout -p)。