git 将 ^M 插入到我的所有代码中

^M being inserted into all my code by git

我正在使用 Bitbucket,我不知道这是否重要。

为什么在合并冲突后我的源代码的每一行后面都插入了 ^M。我没有使用 Source Tree,只是通过终端定期 git。

如果您的文件包含 unix 和 windows 样式行尾的混合,您的文本编辑器将显示此转义字符。这很可能是由您的文本编辑器和 git 的设置方式引起的。

就个人而言,我始终确保我使用 unix 行结尾(也在 Windows 上)从 git 结帐并提交 unix 行结尾。在 .gitattributes 文件中,您可以例如指定:

* text eol=lf

通常,优秀的文本编辑器会尊重他们找到的行结尾,不会尝试转换文件。但是您可能会检查您的文本编辑器的配置。

对于混合了两种行尾 (^M) 的文件,没有自动解决方案。您必须浏览文件并删除这些字符。