3

How can one discard modifications from tracked files similarly to what git add -p does with the index? That is I have modified a tracked file and want to undo only parts of the file?

4

2 回答 2

6

一个可以使用

git checkout -p

撤消跟踪文件的某些部分(请参阅git checkout):

您可以使用它git checkout -p来选择性地丢弃当前工作树中的编辑。

示例输出

$ git checkout -p
diff --git a/foo.txt b/foo.txt
index 98d8da3..dfd6895 100644
--- a/foo.txt
+++ b/foo.txt
@@ -1 +1 @@
-Hello world
+Hello world!
Discard this hunk from worktree [y,n,q,a,d,/,e,?]?
于 2013-05-24T11:42:41.707 回答
-1

要以交互方式取消git add -i暂存,请在暂存提交上使用“revert”命令——界面与 有点不同git add -p,但基本上可以反向执行相同的操作。

其他(不太方便)的可能性是git add -e手动编辑补丁(删除+行并从-行中删除-)。

于 2013-05-25T21:31:19.223 回答