git checkout。(点)互动

时间:2017-04-02 15:53:49

标签: git

我知道git checkout .是git宇宙中最危险的命令之一(理所当然)。有没有办法让它互动?就像rm命令如何与-i选项一起使用。

我正在寻找符合

的内容
git checkout . -i

1 个答案:

答案 0 :(得分:4)

git checkout(以及git add)支持-p选项,它会询问您的每个大块,如下所示:

diff --git a/post.so b/post.so
index b111bdd..ddba6b1 100644
--- a/post.so
+++ b/post.so
@@ -1 +1,3 @@
-`git checkout` (and `git add` as well) support the `-p` option.
+`git checkout` (and `git add` as well) support the `-p` option, which will ask you for every hunk, like this:
+
+foo bar
Discard this hunk from worktree [y,n,q,a,d,/,e,?]? 

对于每个大块你都可以回答:

y - discard this hunk from worktree
n - do not discard this hunk from worktree
q - quit; do not discard this hunk or any of the remaining ones
a - discard this hunk and all later hunks in the file
d - do not discard this hunk or any of the later hunks in the file
g - select a hunk to go to
/ - search for a hunk matching the given regex
j - leave this hunk undecided, see next undecided hunk
J - leave this hunk undecided, see next hunk
k - leave this hunk undecided, see previous undecided hunk
K - leave this hunk undecided, see previous hunk
s - split the current hunk into smaller hunks
e - manually edit the current hunk
? - print help