git reset(--hardを含む)について知っていますが、コミットを完全に削除するわけではなく、ツリーを調整するだけです。私はgit gcを調べましたが、それは決して永久に決してコミットを削除することはありません。私はfilter-branchについて知っていますが、それはコミットからファイルを削除するだけですが、コミットはしません。Git:ローカルコミットをgitデータベースから完全に削除する方法
は、このトピックの周りに円スタックオーバーフローの質問がたくさんありますが、私は質問に対する本当の答えを見つけることができません。どのように本当にが削除ローカルコミット(またはコミットのシリーズ)、そののでデータベース内のどこにも存在しなくなりました。それがブランチチップに限定された方法だったら、それはいいでしょう。
編集:私の間違いでした。私はgitkを使っていて、F5を使ってツリー全体を表示していました。しかし、F5は「更新」を行い、シフト-F5は「再読み込み」を行います。そして、shift-F5を使って完全にリロードしない限り、実際には実際には削除されません。あなたのブランチが、このようになります場合は
'git reset -hard origin/master'を実行してください – Sid
この記事に従って手順を実行してください。 https://help.github.com/articles/remove-sensitive-data/ –
最初に、origin/masterはリモートリポジトリ用です。第二に、get reset - 一般的な信念に反して、hirtはコミットを削除しません。リポジトリツリー全体を見ると、それらは依然として存在します。 – Nairebis