在mac和windows vm之间共享git repo,而不更改行尾文件 问题
通过Parallels在Mac上运行Windows,我们似乎无法找到正确的Git设置,因此无法更改行结束文件 细节 Git repo位于Windows虚拟机上,是一个共享驱动器,我们可以在Mac上访问它,以便编辑代码 我读过很多关于StackOverflow的文章,但它们似乎并不能解决这个问题 是否可以在Windows中处理cSharp文件,并从命令行进行提交 然后滑到Mac上,编辑一些javascript,然后在Mac终端中进行提交,而不必在其他不相关的文件上不断进行行尾更改 我们一直在使用core.autocrlf、core.eol和.gittributes,但似乎不管我们做什么,一个操作系统或另一个操作系统都会显示大量的文件更改(最终是行尾),但我们的编辑器没有进行更改 我可以在windows上做一个克隆,然后在mac上做一个git状态,这样看起来就像每个文件都改变了一样 问题: 设置需要是什么 步骤1:在Windows上 //在一个新的分支上在mac和windows vm之间共享git repo,而不更改行尾文件 问题,git,macos,window,line-endings,Git,Macos,Window,Line Endings,通过Parallels在Mac上运行Windows,我们似乎无法找到正确的Git设置,因此无法更改行结束文件 细节 Git repo位于Windows虚拟机上,是一个共享驱动器,我们可以在Mac上访问它,以便编辑代码 我读过很多关于StackOverflow的文章,但它们似乎并不能解决这个问题 是否可以在Windows中处理cSharp文件,并从命令行进行提交 然后滑到Mac上,编辑一些javascript,然后在Mac终端中进行提交,而不必在其他不相关的文件上不断进行行尾更改 我们一直在使用c
git rm --cached -r .
git reset --hard
git commit "Reset Line Endings" //(I expected this to be larger).
[line 4d14aa1] Reset EOL
9 files changed, 12910 insertions(+), 12910 deletions(-)
git status
$ git status
On branch line
nothing to commit, working directory clean
步骤2:在Mac上
步骤3:在Windows上
.gittributes
我给你们的建议是让你们的整个开发团队都同意一种通用的代码格式,包括行尾。这样,当一个开发人员试图在Windows上提交上次在Mac(即Linux)上编辑的文件时,就不会有任何摩擦。Git很有礼貌地告诉您行尾可能会改变。然而,我相信更好的处理方法不是依赖Git,而是在所有机器上就通用格式达成一致 在我做过的许多软件工作中,我都看到了代码格式方面的问题。这不仅限于行尾,还可能与间距和制表符有关。让每个人都同意一种格式可以节省时间并避免不必要的合并冲突 以下是有关如何在主要IDE中配置行尾分隔符的链接:
之后,您可以在配置文件中添加这些选项,将其存储在存储库中并使用;-)
git rm --cached -r .
git reset --hard
git commit "Reset Line Endings" //(I expected this to be larger).
[line 4d14aa1] Reset EOL
9 files changed, 12910 insertions(+), 12910 deletions(-)
git status
$ git status
On branch line
nothing to commit, working directory clean
git config --unset core.eol
git config --global core.autocrlf input
git status
modified: tools/NUnit2.5.3/nunit-agent-x86.exe.config
modified: tools/NUnit2.5.3/nunit-agent.exe.config
modified: tools/NUnit2.5.3/nunit-console-x86.exe.config
modified: tools/NUnit2.5.3/nunit-console.exe.config
modified: tools/NUnit2.5.3/nunit-x86.exe.config
modified: tools/NUnit2.5.3/nunit.exe.config
modified: tools/NUnit2.5.3/pnunit-agent.exe.config
modified: tools/NUnit2.5.3/pnunit-launcher.exe.config
modified: tools/NUnit2.5.3/runFile.exe.config
modified: tools/NUnit2.5.3/runpnunit.bat
modified: tools/NUnit2.5.3/test.conf
modified: tools/StyleCop 4.3.1.3/ReSharper-code-style-settings.xml
modified: tools/StyleCop 4.3.1.3/Settings.StyleCop
...(100's of other files)
git status
Same output as above
* text=auto
# These files are text and should be normalized (convert crlf => lf)
# Git Files
.gitattributes text
.gitignore text
.gitconfig text
# cSharp / Visual Studio
*.bat text eol=crlf
*.cmd text
*.cs text diff=csharp eol=crlf
*.csproj text
*.h eol=crlf
*.md text
*.msbuild text
*.ps1 text
*.sdf binary
*.sln text eol=crlf
*.tt text
*.xaml text
# Web
*.css text
*.sass text
*.json text
*.js text
*.htm text
*.chm binary
*.html text
*.xml text
*.svg text eol=lf
# Images & Media
*.png binary
*.jpg binary
*.jpeg binary
*.gif binary
*.ico binary
*.mov binary
*.ico binary
*.pdf binary
# Compression
*.gz binary
*.zip binary
*.7z binary
*.nupkg binary
# Fonts
*.ttf binary
*.eot binary
*.woff binary
# Documents
*.doc diff=astextplain
*.DOC diff=astextplain
*.docx diff=astextplain
*.DOCX diff=astextplain
*.dot diff=astextplain
*.DOT diff=astextplain
*.pdf diff=astextplain
*.PDF diff=astextplain
*.rtf diff=astextplain
*.RTF diff=astextplain
*.md text
*.adoc text
*.textile text
*.csv text
*.tab text
*.tsv text
*.sql text
*.psd binary
*.ai binary
*.eps binary
# Compiled Dynamic libraries
*.so binary
*.dylib binary
*.dll binary
*.pdb binary
# Compiled Static libraries
*.lai binary
*.la binary
*.a binary
*.lib binary
*.llblgenproj binary
# Executables
*.exe binary
*.out binary
*.app binary
# Security
*.p12 binary
*.cer binary