我可以使用mSysGit和Cygwin的git吗?

在迁移到Windows之后,我使用了msysgit和它的bash shell,这对我来说很好。 但我有问题:我们的ant构build过程不会在该shell中运行,我想使用Cygwin的xterm而不是Windows命令窗口,因为terminal兼容性不足以运行其他所有我想要的那个窗口,等等。

实际上,我已经在Windows命令行中使用了msysgit,这样我就不必使用单独的窗口来构build,但是这样会遇到更多的问题:缺lesscd – 文件完成正在让我失望,我想要input的大部分命令都不存在等。

所以,如果我改用Cygwin的git,或者更糟糕的是,在不同的时间使用这两者,线序结束会咬我吗? Cygwin的git会期望一切都是\n并认为它看到的变化,因为mSysGit检查时转换为\r\n ? Cygwin的git会检查出\n并混淆了我的Windows Eclipse,我确定要把所有东西都做成\r\n

Solutions Collecting From Web of "我可以使用mSysGit和Cygwin的git吗?"

最简单的方法是设置任何git(msysGit或Cygwin git)忽略crlf样式。

 core.autocrlf=false 

那样,你没有蚂蚁不想要的冲突。

Cygwin的git会检查出\ n并混淆了我的Windows Eclipse,我确定要把所有东西都做成\ r \ n?

大多数现代应用程序(包括Eclipse)完全可以仅使用\ n。

有一些烦人的例外(如电子邮件协议),但在大多数情况下,你可以坚持只使用\ n的一切。

所以,正如VonC所说,只是禁用autocrlf设置,它会没事的。

从这篇文章 – “在Windows上安装带Msysgit的GIT服务器” – 用户建议这个链接 – http://www.timdavis.com.au/git/setting-up-a-msysgit-server-with-copssh-on-视窗/

我使用这个设置,在Windows上完美地工作。

希望能帮助到你

其实,坚持使用msysGit不会救你。 当使用不同版本的msysGit时,我遇到了一个问题,每个源文件都显示为已更改,因为行结束问题。 在git配置文件中设置core.autocrlf修复了它。

我在行结束时头痛。 我使用的是cygwin git,它总是将一些新签出的文本文件报告为“已修改”。 当我把“core.autocrlf”从“true”改为“input”时,十五个文件中的十个文件从修改的列表中消失了,剩下的5个文件在我把“core.autocrlf”设置为“false”之后就消失了。

由于名誉低,我不能为VonC的解决方案投票,但我会说这对我很有用。

我在msysgit中将core.autocrlf设置为false,并将默认安装的任何cygwin。

使用cygwin工具和msysgit附带的mingw工具,由于文件模式的明显变化(在每个文件中755似乎变为644),从命令提示符处检出问题。 这似乎是关于可执行位的问题。 混帐重置没有帮助。

但是,从msysgit GUI窗口执行初始化克隆不会产生这个问题,现在我可以自由使用它自己的bash shell或命令提示符中的cygwin,或者使用它的bash shell中的msysgit。 换句话说,一切似乎都快乐。

因此,如果您看到每个文件出现更改,并且行结束似乎不是问题的原因,那么底线,请尝试从GUI中检出。

经过一段时间的调试,我解决了我的情况。 我以一种迂回的方式从Linux分区中复制了id_rsa文件,并以LF(Unix)格式保留行尾。 在eclipse中打开文件,并将行结束符转换成Windows。 此外,我有GIT_SSH设置为Plink(从腻子)按照这些说明: http : //www.mainelydesign.com/blog/view/git-plink-for-ssh-on-windows