我有一个私有(private)仓库,我在其中开发了一堆脚本供我个人使用。然后我草率地推送信息而没有编写 gitignore,并将我的个人访问 token 直接硬编码到脚本中。现在,很多人都在要求脚本,所以我决定发布 git repo。但是,我可以理解地需要从 git 历史记录中删除访问 token 。截至目前,我是唯一使用该存储库的人。
我这样做,但是由于许多其他原因需要提交保持独立(因此我无法进行更改并压缩所有提交)。我明白我可以 remove the files involved ,但访问 token 位于主脚本文件本身。因此,我想在之前的提交中删除/编辑该行,并将其转移到较新的提交中。
我该怎么做?
最佳答案
如果你没有做任何其他事情,你可以使用 git commit --amend
首先修改任何你想改变的东西。添加这些文件 git add .
或特定文件。
然后 git commit --amend
这会导致更改您之前的提交状态,因此 git log
会有所不同。您甚至可以在此处编写另一条提交消息。
如果你想重新开始,那么你应该重置到以前的。
git reset --hard HEAD~1
会成功的。小心,它会清除您上次提交后的所有更改。
无论如何,如果你已经推送到你的远程仓库,你可以使用
git push -f
关于Git:修改先前提交中的代码以删除敏感信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63757922/