1

注意到一些奇怪的事情......我正在使用 libgit2sharp 克隆存储库。克隆命令非常简单

LibGit2Sharp.Repository.Clone(sCorrectRepo, sExePath, oOpt)

除其他外,存储库包含一堆 .sql 文件。在大多数机器上,这些都很好,但在偶尔的客户端机器上,我发现所有 \r\n -“回车换行”行结尾都被换行 \n

这里可能会发生什么,最重要的是,我能做些什么来防止它发生吗?在大多数 SQL 中,这并不重要但我们有一些 SQL 语句包含实际文本,包括 CRLF,当这些语句更改为仅 LF 时,我们尝试使用的文本不再正确。

现在我对git不是很熟悉,所以我不知道我在做什么。我的猜测是我需要查看 gitattributes 并添加一行,例如

*.sql binary

但是如何在现有存储库中执行此操作?我尝试将 gitattributes 文件添加到我的 Windows 机器上的 .git 文件夹,但是当我尝试提交(使用 tortoisegit)时,它没有看到任何更改。

我的远程 git 存储库位于 azure-devops

4

1 回答 1

1

好的,所以这个问题的解决方案包括两部分。首先,正如 colinD 在他的评论中已经建议的那样,我必须去更改配置。我做到了。但它仍然对我不起作用。原因是我上次提交并推送我的 .sql 文件时,它已经用 LF 替换了远程存储库中的所有行结尾。所以我删除了所有的SQL文件,提交并推送删除,重新添加它们,提交并推送重新添加的sql文件,然后它工作了。

正如@EdwardThomson 在他的评论中所建议的,我随后恢复为默认设置,并添加了一个 .gitignore 文件。在 .gitignore 文件中 - 与 Windows 中的 .git 文件夹处于同一级别 - 我添加了

*.sql binary

再次进行相同的练习,删除、提交/推送然后重新添加、提交/推送并确认这也有效。正如所建议的,这可能是处理这些问题的一种更新和适当的方法。

于 2020-04-01T15:13:08.973 回答