如何像
git add -p
对索引一样,从被跟踪的文件中丢弃修改?也就是说,我已经修改了一个被跟踪的文件,并且只想撤消文件的某些部分。git add -p
对索引一样,从被跟踪的文件中丢弃修改?也就是说,我已经修改了一个被跟踪的文件,并且只想撤消文件的某些部分。可以使用以下方法之一
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,?]?
要进行交互式取消暂存,请使用git add -i
和已暂存提交的“还原”命令--界面与git add -p
有些不同,但基本上可以反向完成相同的操作。
其他(不太方便)的可能性是git add -e
并手动编辑补丁(删除+行并从-行中删除-)。
git checkout -p
选择性地放弃当前工作树中的编辑。” - user456814