Git中的跨平台编程

Git中的跨平台编程,git,cross-platform,eol,Git,Cross Platform,Eol,我遇到了一些已经众所周知的EOL问题和Git问题。我通常使用两台机器: M1(工作):Windows 7和Netbeans+VMWare+Debian作为本地服务器 M2(Home):MacOS和Netbeans+Parallels+Samba+Debian作为本地服务器 我用Windows启动了这个项目。这个周末我配置了Mac,当我克隆这个项目时,所有文件都显示为“修改”。我已经看过很多帖子,并阅读了关于这个问题的git官方文章()。但我仍然有一些问题: 当我使用Windows时,我认为

我遇到了一些已经众所周知的EOL问题和Git问题。我通常使用两台机器:

  • M1(工作):Windows 7和Netbeans+VMWare+Debian作为本地服务器
  • M2(Home):MacOS和Netbeans+Parallels+Samba+Debian作为本地服务器
我用Windows启动了这个项目。这个周末我配置了Mac,当我克隆这个项目时,所有文件都显示为“修改”。我已经看过很多帖子,并阅读了关于这个问题的git官方文章()。但我仍然有一些问题:

  • 当我使用Windows时,我认为所有文件都有CRLF行尾。。。即使我让git通过ssh(然后Linux在Windows上写入文件)拉入
  • 在M2中,当我克隆整个项目时,假设Git根据Git Global config或
    .gittributes
    文件自动更改所有EOL。当我在Mac OS中通过Samba通过Netbeans编辑这些文件时,EOF是否再次改变

因此,很明显Git必须自动管理EOL,因为我使用的是不同的平台,但我不知道如何实现这种方法。最好能更深入地了解Git在不同命令(pull、commit、checkout等)上应用这个autocrlf的方式。

我从来没有运气让Git处理我的行尾。在Windows上,我将其配置为“按原样签出,按原样提交”(这不是默认设置),并依靠我的编辑器使用Unix样式的行结尾。@Chris的注释+1。依靠编辑器为您管理行尾。+关于@VonC主题的一些回答