关于git:错误:以下未跟踪的工作树文件将被merge:.gitignore覆盖


error: The following untracked working tree files would be overwritten by merge: .gitignore

我正在使用Angular JS开发一个Web应用程序。提交之后,我试图在推送最新的更改之前,将其他Web开发人员的最新版本与我的合并。我收到了这个错误,不知道为什么会发生这种情况,因为我在上一次拉/推时没有遇到问题。

1
2
3
error: The following untracked working tree files would be overwritten by merge:
.gitignore
Please move or remove them before you can merge.


似乎您已经创建了一个本地.gitignore文件,但尚未将其提交到存储库,并且您正试图与之交互的远程(pull/push)现在有了一个.gitignore。当这种情况发生时,您的回购协议中的任何文件都会出现这种情况。

由于.gitignore不仅仅是任何文件,它会影响git的行为方式,因此我将手动比较这两个文件,创建一个两者结合的文件,提交它,然后合并,修复可能存在的任何格式问题。

这些文件可能完全相同,但git不知道,因为您没有在本地添加它。这不是您希望经常更改的文件,因为它可以使签出行为不同。

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