Git拉取了.gitignore中的文件

9
我使用Git pull命令将远程仓库的更改下载到本地开发文件夹中。 问题是每次我拉取更改时,Git都会下载一些在.gitignore文件中存在的文件(例如/app/config/config.yml)。
我做错了什么?以下是我的.gitignore文件:
# Parameters
/app/config/parameters.yml
/app/config/parameters.ini
/app/config/config.yml

但是当我执行git pull时,我发现有一个新的config.yml文件!!


这是你本地的 gitignore 文件,还是也在远程仓库中? - Tim
1
你在谷歌搜索“Git pulls files in .gitignore”时得到的结果有什么问题? - jthill
1
@jthill 很有趣,因为现在我的谷歌搜索“Git pulls files in .gitignore now”将此问题作为第一个结果返回。 - user2782001
2个回答

12

检查您的本地config.yml文件是否被忽略,或者它当前是否已经版本化。

git check-ignore -v -- app/config/config.yml

如果未被忽略,您需要从索引中删除并记录该删除。
git rm --cached -- app/config/config.yml
git commit -m "delete config.yml"
git push

那么下一次拉取操作将不会再将该文件拉回。

但是,正如评论Shichu Zhu所指出的,这也意味着下一个git pull操作会删除其他合作者的本地config.yml文件。
因此,您需要与他们沟通,让他们执行类似于此答案的操作


如果你移除并推送,那么协作者们的本地 config.yml 文件将在他们进行 git pull 操作时被删除。需要小心以确保这是期望的结果。 - Shichu Zhu
@ShichuZhu 谢谢你。我已经将你的评论包含在答案中,以增加它的可见性。 - VonC

10

.gitignore 只会忽略未被追踪的文件,不会对已经提交的文件产生任何影响。

gitignore 文件的目的是确保 Git 不跟踪某些未被追踪的文件。

参考资料:


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