- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我尝试提交带有 CRLF 结尾行的文件,但失败了。
我在 Windows 计算机上花了一整天的时间尝试不同的策略,几乎被吸引而停止尝试使用 Git,而是尝试 Mercurial .
如何正确处理 CRLF 行尾?
最佳答案
问这个问题将近四年后,我终于找到了一个让我完全满意的答案!
请参阅 github:help 的指南中的详细信息 Dealing with line endings .
Git allows you to set the line ending properties for a repo directly using the text attribute in the
.gitattributes
file. This file is committed into the repo and overrides thecore.autocrlf
setting, allowing you to ensure consistent behaviour for all users regardless of their git settings.
因此
The advantage of this is that your end of line configuration now travels with your repository and you don't need to worry about whether or not collaborators have the proper global settings.
这是一个 .gitattributes
文件的例子
# Auto detect text files and perform LF normalization
* text=auto
*.cs text diff=csharp
*.java text diff=java
*.html text diff=html
*.css text
*.js text
*.sql text
*.csproj text merge=union
*.sln text merge=union eol=crlf
*.docx diff=astextplain
*.DOCX diff=astextplain
# absolute paths are ok, as are globs
/**/postinst* text eol=lf
# paths that don't start with / are treated relative to the .gitattributes folder
relative/path/*.txt text eol=lf
有个方便的collection of ready to use .gitattributes files对于最流行的编程语言。它有助于您入门。
一旦您创建或调整了您的 .gitattributes
,您应该执行一劳永逸的 line endings re-normalization .
请注意 GitHub Desktop在应用程序中打开项目的 Git 存储库后,应用程序可以建议并创建一个 .gitattributes
文件。要尝试这样做,请单击齿轮图标(在右上角)> 存储库设置 ... > 行尾和属性。系统会要求您添加推荐的 .gitattributes
,如果您同意,该应用还将对您存储库中的所有文件执行规范化。
最后,Mind the End of Your Line文章提供更多背景知识并解释 Git 的发展历程在手头的事情上。我认为这必读。
您的团队中可能有一些用户使用 EGit 或 JGit(Eclipse 和 TeamCity 等工具使用它们)来提交他们的更改。那么你就不走运了,正如@gatinueta 在这个答案的评论中解释的那样:
This setting will not satisfy you completely if you have people working with Egit or JGit in your team, since those tools will just ignore .gitattributes and happily check in CRLF files https://bugs.eclipse.org/bugs/show_bug.cgi?id=342372
一个技巧可能是让他们在另一个客户端提交更改,比如 SourceTree .我们的团队当时在许多用例中更喜欢该工具而不是 Eclipse 的 EGit。
谁说软件简单? :-/
关于git - Git 处理 CRLF(回车、换行)的策略是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/170961/
我有一个包含“CRLF”和“LF”作为行分隔符的字符串。 我只想用“LF”(空格和LF)替换“CRLF”并保持“LF”不变。 我知道,我们可以使用正则表达式来做到这一点,但我已经从现有的答案中尝试了一
我需要将所有新行分隔符更改为\r\n。在字节表中有一些\r 和一些\r\n byte[] data = (byte[])transformedToByteObject; 数据包含该字节,但我不知道如何
在 Veracode 报告中,我在一些 java 文件中收到错误 CWE 93。在静态扫描实例中,一些代码是 MimeMessage msg = new MimeMessage(session); m
这段代码: InternetAddress[] myAdrs = getAdrs(message.getToAddresses()); for (int i = 0; i Impro
我一直在尝试使用 openssl 与 smtp.gmail.com 端口 587 或 465 建立连接:openssl s_client -主机 smtp.gmail.com -端口 587 -sta
我有一个 PHP 文件,需要对其进行简单的文本更改。我使用FTP从linux服务器复制到我的Win7机器。我用 Notepad++ 打开它,打开-查看-显示符号-查看所有字符-我可以在每行前后看到CR
我们有一个数据源,它向我们发送我们需要自动导入到我们系统中的文件,但在某些记录的一个或两个字段中,这些文件中经常存在以额外 CRLF 形式出现的错误数据。该文件是一个 CSV 格式文件,最初我以为我已
我编写了一个小程序,它将多段字符串作为参数上传。当我在 Netbeans 中测试它时,它保留了 CRLF,但是当我在应用程序中实时部署它时,它会丢弃它们为什么会发生这种情况以及我该怎么办? 最佳答案
我有一个文件,我想读取每一行的字符串。如果该行不以 CRLF (\r\n) 结尾,我想打印一些内容。我通过重定向打印命令的输出来创建此文件,如下所示。 System.out.println("Test
我不知道在发送正文的所有字节后我是否应该发送下一条消息而不用 CRLF 将第一条消息的正文分隔到第二条消息的起始行。 这是根据 RFC 7230 的语法: HTTP-message = star
使用 StringBuilder 并在我的字符串中使用 Environment.NewLine,当我打开它时它显示为 CRLF,C# 中是否有其他命令输出仅显示为“LF”而不是“CRLF”? 最佳答案
我得到了一个带有 HTTP 请求内容的字符串流。如您所知,HTTP 请求以 CRLF 中断结束。但是 operator>> 不会将 CRLF 识别为正常的文件结尾。我怎样才能检测到这个 CRLF 中断
我想在我的项目中确保 CRLF(Windows 风格)行分隔符。我正在检查一些替代方案,但不确定哪一个是最好的。 期望的行为: 如果文件不是 CRLF,则 IntelliJ IDEA 显示在底部: 我
目标是使用批处理脚本执行以下操作: 从 Windows 机器中提取主机名。 在主机名值(从第 1 步获得)上应用 sha256 哈希。 我的系统主机名是:W0000000000ZQ 我的批处理脚本如下
我是 VBScript 新手。我正在尝试编写一个函数来识别打印行中是否有 CRLF。你能帮我吗? 谢谢 最佳答案 您可以简单地使用result = Instr(yourString, vbCRLF)。
这个简单的解析器预计会解析以下形式的消息 key: value\r\nkey: value\r\n\r\nkey: value\r\nkey: value\r\n\r\n 一个 EOL 作为字段分隔符
我有一个 lua 文件。它读取 2 个文件,一个“脚本”文件,一个“源”文件。 lua文件解释脚本文件并用脚本文件中的一些指令更改源文件(在内存中)。然后将此修改后的源输出到输出文件中。在 CR 之前
我试图强制我的 spring 批处理始终使用 CR-LF[EDIT] 作为行分隔符来写入文件,而不管底层系统如何。 我试图使用 FlatFileItemWriter 的 setLineSeperato
如何从一组数据中解析出不需要的字符? 我正在使用 Windows 应用程序的现有 VB.NET 代码,该应用程序使用 StreamWriter 和 Serializer 来输出交易数据的 XML 文档
实现这一点的简单方法是: import re re.split(r'(?:\r\n|\r|\n){2}', '...') 但是: >>> re.split(r'(?:\r\n|\r|\n){2}',
我是一名优秀的程序员,十分优秀!