如何修复Git报错:未跟踪工作树文件'._.git'将被合并覆盖?
解决方法
先搞懂问题
._.git不是Git仓库需要的正常文件,是macOS系统自动生成的隐藏元数据文件(这类文件开头都是._,用来存储文件的附加属性)。你大概率是之前创建仓库时,不小心把这个系统自动生成的文件提交到了远程仓库,导致克隆时本地系统又生成了它,和远程的文件冲突,才报了这个错。
步骤1:清理远程仓库里的._.git文件
如果你的GitHub远程仓库里已经有这个文件,得先删掉:
- 用GitHub Desktop操作:
- 打开GitHub Desktop,找到这个仓库的本地正常副本(如果有的话)
- 在「更改」面板里找到
._.git文件,右键点击它,选择「忽略此文件」 - 选中这个文件的删除操作,填写提交信息(比如“移除多余的macOS元数据文件”),点击「提交到 main」(或你的分支名)
- 点击顶部的「推送」,把更改同步到远程仓库
- 没有本地副本的话直接在GitHub网页端操作:
- 打开GitHub上你的仓库页面,找到
._.git文件 - 点击文件右上角的垃圾桶图标删除它,填写提交信息后确认提交
- 打开GitHub上你的仓库页面,找到
步骤2:重新克隆仓库
- 彻底删除之前克隆失败的本地文件夹
- 打开GitHub Desktop,点击「克隆仓库」,选择目标仓库完成克隆——这次应该不会再报错了
步骤3:预防后续出现同样问题
为了避免macOS的元数据文件再被误提交,给所有仓库添加.gitignore文件:
- 在GitHub Desktop里打开你的仓库
- 点击「添加文件」→「创建新文件」,文件名填
.gitignore - 在文件内容里添加:
# 忽略macOS系统生成的元数据文件 ._* .DS_Store - 提交并推送这个文件到远程仓库,以后系统生成的
._开头的文件就会被Git自动忽略,不会再出现提交冲突的问题
开发中提交故障的补充
如果提交时还遇到其他问题,先检查是不是有未被忽略的系统文件(比如.DS_Store)被误追踪了,按照上面的方法添加到.gitignore里即可。如果是其他报错,先看GitHub Desktop给出的具体提示,通常都是文件冲突或者未追踪文件的问题,按照提示操作就行。
内容的提问来源于stack exchange,提问作者MIM
相关产品推荐
相关产品推荐

