我想强制git在Windows下检出文件LF而不是CR+LF.我检查了两个配置选项,但我无法找到正确的设置组合.
我希望它将所有文件转换为LF并保留LF文件.
备注:我使用autocrlf = input但是这只是在你提交时修复文件.我想强制它让他们使用LF.
可能我不是那么清楚:存储库已经在使用LF但是使用msysgit检出的文件正在使用CR+LF,我想强制msysgit使用它们LF:强制Unix行结束.
>git config --list | grep crlf
core.autocrlf=input
Run Code Online (Sandbox Code Playgroud) 正如人们可以从 其他 帖子中收集的那样,Git的终端规范化有其优点和缺点.我有一个特定的Windows项目,我认为最好的办法是完全禁用行尾规范化.也就是说,我希望保留所有换行符(大部分都是CRLF完整的),而不是让git将它们规范化为 - LF仅在幕后,我希望该更改能够影响所有计算机上存储库的所有克隆.问题是最有效的方法.
大多数关于Git行尾规范化的讨论都是根据core.autocrlf,我可以通过设置来实现我的目标core.autocrlf=false.但是,这是一个git-config设置,我相信必须在每台机器上分别设置它.如果为true,那似乎容易出错,特别是因为msysgit安装程序会将其引导到设置中core.autocrlf=true.
我正在我的Win Vista开发VPC上安装msysgit 1.6.4 beta.安装屏幕正在请求我是否要使用Unix行终止或DOS行终止.通常,我会选择DOS,但是设置文本表明DOS终止可能意味着文件不能与Git的所有命令行工具一起使用.Unix行终止状态"......大多数[Windows]应用程序可以处理这个......".
有谁知道我应该选择哪个选项通过shell为我的VS 2008工作使用Git?
在尝试为开发人员标准化平台时,我的一个需求是提交,.git/config以便每个人都有相同的CRLF配置,而不会忘记手动设置它.
我该如何设置?
我对所有这些消极情绪感到担忧autocrlf.如果不起作用,为什么不删除此功能?要么这个功能的制作者被误解,要么他们用它做了一个失败的实验,它应该被删除,以阻止更多的人浪费他们的时间(阅读模糊的手册页,提问,回答这些问题的人等).
我跑了一个
git add -A
Run Code Online (Sandbox Code Playgroud)
在我的第一个git项目上.
我收到了大约一千条回复:
"警告:LF将被CRLF取代"
因为它经历了每个文件(Ruby文件,有些是宝石).
我删除了我的.git目录并尝试通过键入以下命令禁用此默认设置:
git config core.autocrlf false
Run Code Online (Sandbox Code Playgroud)
然后我尝试再次添加文件:
git add -A
Run Code Online (Sandbox Code Playgroud)
但我得到了同样的结果.救命!
我和我的同事git在使用我们的Windows repostiory克隆上的某些文件时遇到了很大的麻烦.克隆是通过克隆源自OSX机器的存储库而制作的.我们已经将autocrlf设置为true,但问题是我们会定期查找git认为已更改的文件,即使我们从未触摸它们(我们甚至不在编辑器中打开它们).
以下输出说明了问题:我出错的任何想法?
$ git status
# On branch master
# Your branch is behind 'origin/master' by 27 commits, and can be fast-forwarded.
#
# Changed but not updated:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: Web Applications/webclient/language/en/lang_copyitems.ini
#
no changes added to commit (use "git add" and/or "git commit -a")
Administrator@windows-dev ~/Documents/Workspace/prestige.git
$ git diff "Web …Run Code Online (Sandbox Code Playgroud) 假设我有一个项目IMClient-MacOS和IMClient-Windows的两个分支,它们的代码只相差(假设)一个目录main /.所有其他目录都包含与系统无关的代码,并且可以互换.
一些工作人员使用Windows版本,一些工作人员使用MacOS版本.当它们从对应的分支合并时,它们如何防止覆盖变为main /目录?有没有办法在Git中合并,总是会忽略依赖操作系统的目录?