如何指定从.gitignore移除仓库可见文件并实现提交自动忽略
解决.gitignore相关的文件忽略与恢复问题
一、让特定文件提交时自动被忽略
分两种情况处理:
文件还没提交到GitHub仓库
直接在项目根目录创建或编辑.gitignore文件,把要忽略的文件/目录规则写进去就行,比如:- 忽略单个文件:
debug.log - 忽略整个目录:
node_modules/ - 忽略某一类文件:
*.tmp
保存后把.gitignore提交到仓库,之后这些没提交过的文件就不会出现在待提交列表里,提交代码时会自动被跳过。
- 忽略单个文件:
文件已经提交到GitHub仓库
这就是你之前直接删仓库文件的情况,正确步骤是先把文件从Git的追踪列表里移除(本地文件会保留),再设置忽略:- 本地执行命令移除追踪:
比如移除单个文件用git rm --cached 要忽略的文件名/目录名git rm --cached debug.log,移除整个目录加-r参数:git rm --cached -r node_modules - 在
.gitignore里添加对应的忽略规则 - 把
.gitignore的修改和移除追踪的操作一起提交到仓库,之后这些文件就不会再被提交到仓库了。
- 本地执行命令移除追踪:
二、取消.gitignore对特定文件的忽略(让文件重新出现在仓库)
如果之前某个文件被.gitignore规则挡住了,现在想取消忽略让它能被提交:
- 编辑
.gitignore,要么删掉对应的忽略规则,要么在规则前加!来例外(比如之前忽略所有.log文件,现在要保留prod.log,就加!prod.log) - 如果这个文件从来没提交过仓库,直接执行
git add 文件名就能加入追踪,之后正常提交就行 - 如果这个文件之前被用
git rm --cached移除过追踪,得重新添加:git add 文件名/目录名 - 提交
.gitignore的修改和文件的添加操作到仓库,之后这个文件就会重新出现在GitHub仓库里。
内容的提问来源于stack exchange,提问作者Kefiloe
相关产品推荐
相关产品推荐

