使用bash在Windows XP计算机上运行git.我从SVN导出了我的项目,然后克隆了一个裸存储库.
然后我将导出粘贴到裸存储库目录中,并执行了:
git add -A
Run Code Online (Sandbox Code Playgroud)
然后我得到一条消息列表:
LF将由CRLF取代
这种转变的后果是什么?这是Visual Studio中的.NET解决方案.
我被git用Windows/Linux行结束问题所困扰.看来,通过GitHub,MSysGit和其他来源,最好的解决方案是让你的本地存储库设置为使用linux风格的行结尾,但设置core.autocrlf为true.不幸的是,我没有及早做到这一点,所以现在每次我进行更改时,行结尾都会被剔除.
我以为我在这里找到了答案,但我无法让它为我工作.我的Linux命令行知识充其量是有限的,所以我甚至不确定"xargs fromdos"行在他的脚本中做了什么.我不断收到关于没有这样的文件或目录的消息,当我设法将它指向现有目录时,它告诉我我没有权限.
我在Windows上通过Mac OS X终端尝试使用MSysGit.
我知道Git会以某种方式自动检测文件是二进制还是文本,如果需要,可以使用gitattributes手动设置它.但是有没有办法向GIT询问它如何处理文件?
所以我们可以说我有在这两个文件一个Git仓库:一个ascii.dat含纯文本和文件binary.dat含随机二进制的东西文件.Git将第一个dat文件作为文本处理,将辅助文件作为二进制文件处理.现在我想写一个Git webfrontend,它有一个文本文件查看器和二进制文件的特殊查看器(例如,显示十六进制转储).当然,我可以实现自己的文本/二进制检查,但如果查看器依赖于Git如何处理这些文件的信息,那将会更有用.
那么我怎么能问Git它是否将文件视为文本或二进制文件?
我有一个现有的存储库,其中行结尾都搞砸了.我想重写整个存储库并一劳永逸地修复行结尾.有文本文件和二进制文件,我们假设git检测二进制文件的启发式方法可以正常工作.
使用带有规范化行结尾的文件重新填充整个存储库的最简单方法是什么?
我们有一个从subversion导出到git的存储库.此存储库由Mac,Linux和PC用户使用.毋庸置疑,行结尾是一团糟.有些文件以CRLF,LF或CR结尾,有些文件在一个文件中的所有两个或三个文件之间混合.
添加autocrlf = true似乎稍微解决了一些问题.然而,差异有时会变得相当奇怪,即对文件进行一行编辑会使差异中的所有行都显示出来(我认为这是由于文件的行结尾都被重写了),有时一行编辑为文件正常工作.
有没有一个网站,或者有人可以解释我们如何解决这个问题?是否有我们必须设置的git设置,或者我们是否必须对所有文件进行批量更新以使某一行结束或具有什么?
任何帮助都会非常感激,因为它非常混乱!
(以下stackoverflow文章似乎可能有所帮助,虽然它没有回答当我们有另一个mac或pc或linux用户提交另一个补丁时会发生什么)
我有一个Git存储库(最初是CVS,然后是SVN,现在是Git),包含一个已在Linux上部署了一段时间的Rails项目.一切似乎都运行良好.
现在我已经转换为git,我发现存储库CRLF中的许多文件都包含行结尾.我喜欢它,所有人都是一致的(LF),但不是以丢失每个有CRLF行结尾的文件的编辑历史为代价.
你能想到我不能保留文件的原因吗? 我似乎记得shell脚本或cron文件存在问题或者没有很好的响应CRLF.
另外,我知道所有关于Git的选项core.autocrlf和core.safecrlf,但有一些办法把它从转换的所有文本文件CRLF来LF结账(用于Linux端) ......即core.autolf选项或类似的东西?