我在bitbucket.org上有一个git库,方便我在单位和家里的机子上同步代码,但是每次从服务器上拉下来代码都会出现很多修改,重新clone也不行,用文件对比工具查看也没有看到修改。
怀疑是line endings的问题,把git重新安装了下,选择了checkout what,commit what那个选项,仍然不行,求解释求指导,谢谢 o(╯□╰)o
-----补充----
现在确定是line endings问题了,下面是commit的log,一满屏,都是这样的。怎么设置?需要重新安装还是修改配置?
另外这个问题是什么原因导致的呢?我两台机子上设置的一样呀,难道是服务器给转了?
The file will have its original line endings in your working directory.
warning: CRLF will be replaced by LF in src/Presentation.Seedwork/Resources/Mess
ages.Designer.cs.
The file will have its original line endings in your working directory.
37 files changed, 3234 insertions(+), 3234 deletions(-)
我想大声告诉你2017-04-25 09:05:49
귀하의 설명에 따르면 귀하의 회사와 귀하의 집은 서로 다른 운영 체제를 사용하는 것으로 보이며 줄 바꿈 문자의 차이로 인해 Git에서는 파일 내용이 변경된 것으로 생각하게 됩니다. Git이 지능적으로 변환할 수 있도록 설정할 수 있습니다.
Windows 시스템에서는 Git을 설치할 때 core.autocrlf
옵션을 true
로 설정해야 합니다. 이는 아래 그림과 같습니다.
Linux/Unix/Mac 시스템에서는 일반적으로 기본 설정을 유지합니다(선택할 수 있는 설치 인터페이스가 없습니다). 물론 내 컴퓨터의 설정처럼 ~/.gitconfig
을 수동으로 편집하고 core.autocrlf
을 input
으로 설정할 수 있습니다.
위 두 설정의 최종 결과는 Git이 제출할 때 항상 자동으로 줄 바꿈을 LF
로 변환하고 Windows로 돌아올 때 자동으로 checkout
를 CRLF
로 변환하여 Windows에 적응한다는 것입니다. . 편집자.
위 설정을 했는데도 질문에 설명된 문제가 계속 발생한다면 생각하지 마세요. 팀의 다른 구성원이 위 두 가지 사항에 대해 설정을 지정하지 않았기 때문일 것입니다(높은 수준). Windows를 사용하는 경우도 있음) 하나씩 확인하실 수 있습니다.
그리고 Windows Git 설치 시 또 다른 설정도 헷갈리는데, 아래와 같은 것을 선택하는 것이 좋습니다.
이 옵션을 선택하면 구성이 가장 적게 필요하며 CLI와 Linux 간의 호환성이 상대적으로 높습니다. 유일한 단점은 Windows CLI와 Linux에서 동일한 이름을 가진 명령이 Linux 버전에서 덮어쓰여진다는 것입니다. find
등등. 제 생각에는 Windows CLI는 어차피 쓰레기이고, 덮어도 상관이 없습니다.