.gitignore无法忽略GitLab手动提交的Dockerfile该如何处理?
问题原因
一旦某个文件被Git追踪(即提交到仓库过),.gitignore就不会再对它生效了。你在分支C手动提交了Dockerfile的修改,等于把这个文件加入了Git的追踪列表,所以合并到D分支后,即使.gitignore里有它,Git还是会继续追踪这个文件。
解决步骤
要让.gitignore重新生效,需要先让Git停止追踪Dockerfile,具体操作如下:
- 移除Git对Dockerfile的追踪,但保留本地的Dockerfile文件(该命令不会删除本地文件):
git rm --cached Dockerfile - 提交这个变更,明确告诉Git以后不再追踪该文件:
git commit -m "停止追踪Dockerfile" - 检查
.gitignore文件,确保里面确实存在Dockerfile这一行;如果没有,添加后提交.gitignore的变更。 - 如果已经完成C到D的合并,直接在D分支执行上述两步操作,或者将C分支中“停止追踪”的提交合并到D分支即可。
额外注意事项
如果团队其他成员的本地仓库也在追踪Dockerfile,他们拉取更新后,需要同步执行git rm --cached Dockerfile命令,避免后续误提交Dockerfile的变更。
内容的提问来源于stack exchange,提问作者Shwetha GT
相关产品推荐
相关产品推荐

