如何让Git提交仅显示1个已变更文件?
解决Git提交时.gitignore未生效的问题
核心原因
.gitignore仅对未被Git追踪的文件起作用。如果那两个被你加入.gitignore的文件之前已经被提交到仓库(即Git已经记录过它们的存在),后续修改.gitignore不会让Git停止追踪这些文件的变更。
解决步骤
停止追踪目标文件
执行以下命令,让Git不再追踪那两个文件,但不会删除本地文件:git rm --cached 文件1路径 文件2路径示例(假设文件为
logs/error.log和temp/cache.json):git rm --cached logs/error.log temp/cache.json提交追踪状态与.gitignore的变更
提交修改,让仓库记录停止追踪文件的操作和.gitignore的更新:git add .gitignore git commit -m "停止追踪指定文件,更新.gitignore规则"验证结果
运行git status查看状态,此时应该只会显示你最初修改的那一个文件的变更(若该文件未提交),那两个被加入.gitignore的文件不会再出现在变更列表中。
注意事项
- 务必带上
--cached参数,避免误删本地文件;如果直接用git rm,会同时删除本地文件和Git追踪记录。 - 检查.gitignore中的路径写法,确保是相对于仓库根目录的正确路径,路径错误会导致规则不生效。
内容的提问来源于stack exchange,提问作者Adi
相关产品推荐
相关产品推荐

