合并

时间:2016-10-12 06:22:03

标签: git gitignore

我做了一个提交,现在当我试图拉我得到这个错误。

error: The following untracked working tree files would be overwritten by merge:
    login/models.pyc
    timer/__init__.pyc
    timer/admin.pyc
    timer/api.pyc
    timer/email.pyc
    timer/exceptions.pyc
    timer/models.pyc
    timer/serializers.pyc
    timer/urls.pyc
    timer/views.pyc
Please move or remove them before you can merge.
Aborting

这就是我的.gitignore的样子

*.pyc
*.~
*.swp
*.xml
*.iml 

我已经在gitignore中添加了pyc文件,但它们已被提交。我做错了什么,我现在怎么能成功拉?

2 个答案:

答案 0 :(得分:1)

如果文件在忽略之前已经提交,则需要从存储库中删除它们以使忽略生效。如何做到这一点在this answer中有描述。

在您的情况下,文件在本地以及远程存储库中进行更改。假设这些是编译文件,可以通过编译源代码随时复制,我建议执行以下操作:

  • 恢复上次提交的文件版本(例如,使用git checkout -- filea fileb)。
  • 从远程存储库中提取更改。
  • 按照上面链接的答案中的说明删除文件。

这将有助于避免那些将被删除和忽略的文件中的冲突。

答案 1 :(得分:0)

如果在.gitignore文件中添加文件/ ext /文件夹,请先按.gitignore文件。如果未按下gitignore更改,Git状态仍会显示这些文件为“未暂存”。 我建议你从git remote中删除这些文件,然后在本地添加它们。 现在git应该正常工作并忽略这些文件。

更多详情Here