Can I use mSysGit and Cygwin's git?

2020-02-10 06:23发布

After migrating to Windows, I'm using msysgit with its included bash shell, and that's working well for me. But I have issues: our ant build process won't run in that shell, I'd like to use Cygwin's xterms instead of the Windows command window, since the terminal compatibility isn't good enough to run everything else I'd like in that window, and so on.

I've actually made a go of sticking with msysgit in the Windows command shell so that I don't have to use a separate window to build, but that's got even more problems: the lack of cd - and file completion is killing me, most of the commands I'd like to pipe to aren't present, etc.

So if I switch to using Cygwin's git, or worse, use both at different times, are line-endings going to bite me? Will Cygwin's git expect everything to be \n and think it's seeing changes because mSysGit converted to \r\n when checking out? Will Cygwin's git check out as \n and confuse my Windows Eclipse, which I'm sure wants everything to be \r\n?

7条回答
孤傲高冷的网名
2楼-- · 2020-02-10 06:36

Will Cygwin's git check out as \n and confuse my Windows Eclipse, which I'm sure wants everything to be \r\n?

Most modern applications (including Eclipse) are perfectly capable of using \n only.

There are a few annoying exceptions (e.g. email protocol), but in most cases you can stick to just using \n for everything.

So, as VonC says, just disable the autocrlf setting and it'll be fine.

查看更多
贪生不怕死
3楼-- · 2020-02-10 06:37

I got headache on the line endings. I'm using cygwin git, and it always report some newly checked-out text files as "modified". When I changed "core.autocrlf" from "true" to "input" ten out of fifteen files disappeared from the modified list, and the remaining 5 went away after I set "core.autocrlf" to "false".

I can't vote for VonC's solution due to low reputation but I would say it works for me.

查看更多
家丑人穷心不美
4楼-- · 2020-02-10 06:38

Actually, just sticking with msysGit won't save you. I had one issue where every single source file showed as changed because of the line-ending issue when using different versions of msysGit. Setting core.autocrlf in the git config file fixed it.

查看更多
smile是对你的礼貌
5楼-- · 2020-02-10 06:40

After debugging this for a while I solved it for my case. I copied the id_rsa file from a Linux partition in a roundabout way leaving the line endings in LF (Unix) format. Opening the file in eclipse and converting the line endings to Windows fixed this. Also, I have GIT_SSH set to Plink (from Putty) following these instructions: http://www.mainelydesign.com/blog/view/git-plink-for-ssh-on-windows

查看更多
SAY GOODBYE
6楼-- · 2020-02-10 06:41

From this post - "Setup GIT Server with Msysgit on Windows" - a user suggested this link - http://www.timdavis.com.au/git/setting-up-a-msysgit-server-with-copssh-on-windows/

I used this setup and works flawlessly on Windows for Me.

Hope it helps

查看更多
ら.Afraid
7楼-- · 2020-02-10 06:43

The simplest approach would be to set any git (msysGit or Cygwin git) to ignore crlf styles.

core.autocrlf=false

That way, you do not have ant unwanted conflict.

查看更多
登录 后发表回答