如何停止git add -patch不显示提示

时间:2013-12-18 14:39:13

标签: git cygwin add patch mintty

在cygwin中使用git add --patch somefile.txt时,我得到了一个奇怪的回应。

首次输入命令后,它等待我按输入而不显示任何内容。按后输入,我得到以下输出

--- a/somefile.txt
+++ b/somefile.txt  
@@ -m,n +m,n @@
-Aple
+Apple
 Bear
 Cat
 Dog

Stage this hunk [y,n,q,a,d,/,j,J,g,e,?]? y - stage this hunk
n - do not stage this hunk
q - quit; do not stage this hunk nor any of the remaining ones
a - stage this hunk and all later hunks in the file
d - do not stage this hunk nor 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 un

并在un

之后留下克拉

做出选择后,在这种情况下n我得到了其余的

J - leave this hunk unn
decided, 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
@@ -1,4 +1,4 @@
-Lne 1
+Line 1
 Line 2
 Line 3
 Line 4
Stage this hunk [y,n,q,a,d,/,j,J,g,e,?]? @@ -289,6 +289,8 @@
 Line 289
 Line 290
 Line 291
+Line 292
+Line 293
 Line 294
 Line 295
 Line 296

对于文件的其余部分,模式仍在继续,让我无法分辨出我被提示的哪个块。

2 个答案:

答案 0 :(得分:6)

在使用git和Cygwin时,我经常会看到两个设置。

第一个(如果您的git config -l尚未包含它)是关于寻呼机的(如此gitconfig file

git config core.pager C:/cygwin/root/bin/less.exe

[core]
        # we want to use cygwin's less, because msys's doesn't play well
        # with i/o via cygwin bash. This would be the default, but for the fact
        # that msysgit prepends `dirname argv[0]` to $PATH.
        pager = C:/cygwin/root/bin/less.exe

另一个是关于TTY,如this blog post

export TERM=cygwin
export LESS=FRSX

其中一项设置应使git add -p运行更顺畅。

答案 1 :(得分:1)

鉴于投票数量,这已经收到它看起来我不是唯一有这个问题的人。

似乎Cygwin的默认安装不包含git。但是,如果您单独安装了git,它将被添加到您的Windows路径中,并且似乎可以用于其他所有方面。

> which git
c:\Program Files (x86)\Git\bin\git

一旦我通过Cygwin安装git并使用该版本,问题就解决了

> which git
/usr/bin/git