我在提交中包含了一个文件,上面有我的密码,我推了它,后来意识到我犯了错误。
我理解git-filter-branch(或BFG Repo-Cleaner)有助于清理历史记录,但是,这与做...有什么不同...
rebase -i
- 将提交移至提示,然后reset --hard [previous_commit]
- 将此应用于回购,然后push --force
在SourceTree中可视化上述步骤的结果后,我没有看到先前的提交(及其内容),但我可以想象,对于已经使用错误的提交,甚至新的克隆。
那么与git-filter-branch相比,差异基本上是什么?我比较苹果和橘子吗?
编辑:看起来你可以做第1步和第2步2使用rebase -i --autosquash [commit_hash]
一次性进行上述。
答案 0 :(得分:0)
是的,您可以使用这两种方法来解决问题。我建议使用git rebase
,因为您可以更好地控制最终提交的确切内容。
git filter-branch
更适合对许多提交进行更改,而不仅仅是一次。