我用git拉我的项目。
我收到此错误:error: Your local changes to 'Gemfile.lock' would be overwritten by merge. Aborting.
。
但是'Gemfile.lock'在我的.gitignore文件中,所以git不应该对覆盖这个文件感兴趣。
任何帮助?
Greets,Joern。
答案 0 :(得分:0)
当git忽略某个文件时,只有在执行递归git add
时才会将其排除。但是git
永远不会覆盖存储库中的文件(如果没有跟踪它)(最少惊喜的原则)。被忽略的文件可能很昂贵(时间,......)来生成。
但是,即使忽略了某个文件,也有人可以提交具有相同名称的文件(使用git add -f
或者因为他们在同一次提交中更改了.gitignore文件)。
因此,如果在提交中错误地添加了文件,则可以重写历史记录以将其删除(如果尚未共享存储库),您可以创建一个新的提交,删除其他分支中的文件,然后合并它,或者您可以移走本地文件,合并并恢复本地文件。
答案 1 :(得分:0)
Gemfile.lock必须已经成为存储库的一部分,否则git不会抱怨它。