Git常见问题-提交了一个垃圾文件怎么办

2024/04/21 | 字数479 | 阅读1分钟


场景

在日常操作中,错误的提交了一个本不属于代码库的文件或目录,几乎每个人都犯过。想要删掉这些文件或目录,可以有以下几种选择:

  1. 只删除文件,但不删除历史记录
bash
1
2
3
4
git rm <file>
git rm -r <directory>

git commit -m "remove file or directory"

注意:上面的操作,只在最新版本中删除了对应的文件和目录,在git库中,切换到上一个版本,文件和目录依然存在。


  1. 既要删除文件,还要删除历史记录
bash
1
git reset HEAD^

上面的命令执行完毕后,工作区中的内容不会被更新。


  1. 在同一个提交中,既包含有效修改,也包含垃圾文件
bash
1
2
3
4
git reset HEAD^
rm -rf <file or directory>
git add file1 file2 file3
git commit -m "commit msg"

上面的reset操作由于没有更新工作区中的文件,因此可以继续执行git commit命令,将有效的修改继续提交到库中。

多做一步

如果垃圾文件是随时可能产生的,例如编译中间文件(例如.o文件),文件系统生成的辅助文件(例如Mac系统中的.DS_Store),最好通过下面的方式告知git,在每次检查的时候忽略掉这些文件或者目录:

bash
1
2
3
4
5
6
7
vim .gitignore
file1
directory1

git status -s
git add .gitignore
git commit -m "ignore some files and directories"
上一篇:Git常见问题-如何放弃本地修改 下一篇:Git常见问题-推送被拒怎么办?

【文章不错,鼓励一下】