如果你进行了大量的修改,但是其中一个文件不小心提交了敏感信息需要移除,所以只想单独撤销对这个文件的提交。
git log 文件路径/文件名
找到这个文件相关的倒数第二个提交的commit_id
。
git checkout commit_id 文件路径/文件名
git commit --amend
修改一下提交信息
git push origin +main
使用加号强制提交
如果希望此后不再提交此文件的更改,那么首先:
git rm --cached 文件路径/文件名
然后
在.gitignore
文件中添加此文件路径/文件名
注意:
实际上如果你在上述操作之前打开了这个仓库的页面,但是操作之后尚未在github刷新页面,那么仍然可以从仓库页面的最后一次commit链接进入找到你希望删除的内容(旧的最后一次commit修改内容)。说明服务器仍然缓存了这次操作的变化,但是会提示
This commit is outside of the repository
之类的信息。刷新之后就不会有这个链接出现了。虽然它仍然在服务器的某处,也在你的浏览器记录当中,但是其他人能否通过其他方法(比如搜索引擎?)访问到这个页面呢?我不知道…