错误:以下未跟踪的工作树文件将被合并覆盖:.DS_Store

D4r*_*iNS 11 git macos git-pull git-push

我在 Mac 上有一个 git 存储库,当我git status在终端中使用时,它说

On branch master
nothing to commit, working directory clean
Run Code Online (Sandbox Code Playgroud)

当我尝试从存储库中提取更改时 git pull repositoryName master

error: The following untracked working tree files would be overwritten by merge:
.DS_Store
Please move or remove them before you can merge.
Run Code Online (Sandbox Code Playgroud)

所以我试图删除它,git rm .DS_Store但它说

fatal: pathspec '.DS_Store' did not match any files
Run Code Online (Sandbox Code Playgroud)

然后我试图删除缓存文件并重新添加它git rm --cached . -rgit add .用的.gitignore指令,会忽略.DS_Store,但问题仍然存在。

我尝试了很多在不同帖子上看到的命令,但都没有成功。任何帮助,将不胜感激。

Are*_*res 16

rm .DS_Store
Run Code Online (Sandbox Code Playgroud)

我在 repo 文件夹上运行了上述命令。终于可以从 git 中拉取了。我建议你添加.DS_Store到你的.gitignore文件中。


Eug*_*ene 7

.DS_Store

是每次触摸某个目录时创建的 Mac 相关文件(如果我没记错的话,它用于索引)。

所以,首先你没有它。然后您尝试将一些文件/文件夹放入您的目录中(因此它被创建 - 破坏您的 pull 命令)。

在您的 repo 目录中创建一个名为.gitignore的文件,其中有一行(到目前为止).DS_Store。这应该可以解决您的问题。