2013-12-18 23 views
9

当在cygwin中使用git add --patch somefile.txt时,我得到了一个奇怪的回应。如何停止git add -patch不显示提示mintty

第一次输入命令后,它等待我点击输入而不显示任何内容。有一次,我按进入我得到以下输出

--- 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

克拉我得到了休息

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 

模式进行选择,在这种情况下n后继续为文件的其余部分留下我无法分辨哪些大块我被提示。

回答

1

鉴于票数,这已收到它看起来像我不是唯一一个这个问题。

似乎Cygwin的默认安装不包含git。但是,如果你已经单独安装了git,它将被添加到你的windows路径中,并且看起来可以在其他任何方面工作。

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

一旦我通过Cygwin的安装Git和使用该版本的问题解决了

> which git 
/usr/bin/git 
6

我通常会在Cygwin中使用git时看到两个设置。

第一个(如果你的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运行更平稳。

+0

唉没有这些作品中,我认为它是与输入和输出流被使用的方式 –

+0

我已经将这个答案授予赏金,因为它是唯一的答案,赏金即将到期。但是,这些设置对我的机器没有任何影响。 –