Windows10推送代码至GitHub Fork时遇'File contains carriage returns at end of line'错误
解决Git推送时的换行符错误问题
先排查仓库本地配置,全局配置可能被覆盖:
执行git config core.autocrlf查看当前仓库的设置,如果输出不是true,说明本地配置优先级更高,执行git config core.autocrlf true(Windows环境下推荐设置:拉取代码时自动转CRLF,推送时转回LF)。同时设置git config core.safecrlf warn,让Git仅发出警告而非阻止操作。重置所有文件的换行符状态:
- 暂存当前未提交的修改:
git stash - 移除缓存的文件索引:
git rm --cached -r . - 重新添加所有文件,让Git按照新规则处理换行符:
git add . - 提交换行符修复的变更:
git commit -m "Fix line endings to match repository standards" - 恢复之前暂存的修改:
git stash pop
- 暂存当前未提交的修改:
同步VS Code编辑器设置:
打开VS Code设置(快捷键Ctrl+,),搜索files.eol,设置为\n(LF)或auto(自动适配仓库规则);同时开启files.trimTrailingWhitespace,避免多余空格和换行符干扰。检查仓库的
.gitattributes文件:
这个文件优先级高于Git配置,若仓库中存在该文件,确保包含类似* text=auto的规则,让Git自动识别文本文件并处理换行符。如果没有,可以创建该文件并添加规则,提交后后续操作会更顺畅。
内容的提问来源于stack exchange,提问作者azaya
相关产品推荐
相关产品推荐

