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

6
我正在使用Angular JS制作Web应用。在提交代码后,我尝试拉取另一个Web开发人员的最新版本,并将其与我的代码合并,然后再将我的最新更改推送。但是,在拉取代码时遇到错误,不知道为什么会出现此问题,因为之前的拉取/推送没有任何问题。
error: The following untracked working tree files would be overwritten by merge:
.gitignore
Please move or remove them before you can merge.

这意味着有人向你要拉取的代码库添加了.gitignore。如果您执行合并操作,您本地的.gitignore将被覆盖并永久丢失。 - bnjmn
git 也无法将您对 .gitignore 的更改合并,因此请手动合并它们。 - simonzack
2
你可以 A)删除本地副本并执行合并,或 B) 提交本地副本,然后在合并时处理冲突 - bnjmn
谢谢@bnjmn。我做了A)并且它起作用了。 - user3333901
可能是重复的问题:Git错误:以下未被跟踪的工作树文件将被检出覆盖 - Steve Chambers
1个回答

5

看起来你已经创建了本地的 .gitignore 文件,但是还没有将它提交到存储库中并尝试进行交互 (pull/push) 的远程仓库中已经有了 .gitignore 文件。当这种情况发生时,这也适用于存储库中的任何文件。

由于 .gitignore 不是普通的文件,它会影响 git 的行为,我建议手动比较两个文件,创建一个包含两者内容的文件,并提交它,然后合并,并修复可能存在的格式问题。

这两个文件可能完全相同,但是 git 并不知道,因为你还没有把它添加到本地。你不希望频繁更改此文件,因为它可能会导致检出时的行为不同。

Github 维护了大多数语言有用的 .gitignore 模板列表


2
太棒了。如果我的回答对您有帮助,请点击左侧的勾号接受它。http://meta.stackexchange.com/a/5235/245475 - bnjmn

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接