受け入れられた答えは良いですが、従うのは少し難しいです。これは同じ答えですが、少し甘いです。
Tilman Vogel が言うように、gist は単なるリポジトリであるため、このアプローチは github リポジトリと gist で機能します。
表示したくないパスワードを含むバージョンが 1 つだけあるとします。パスワードを削除して新しいバージョンをチェックインしましたが、以前のバージョンを削除したいと考えています。パスワードを示すコミットが多数ある場合は、このプロセスを適応させることができるはずです。
まず、ローカル マシンで修復を行う必要があります (github ではありません)。これを行うには、gist をローカルに複製することから始めます。プライベート クローンの URL をクリックすると、github の Gist のページにプライベート クローンの作成方法が表示されます。何かのようなもの:
git clone git@gist.github.com:421xxx1.git gist-421xxx1
これにより、リベースする必要があるローカル コピーが得られます (つまり、バージョンをいじくり回します)。
cd gist-421xxx1
git rebase -i eexxaa^
eeccaa は、パスワードを含む (最初の) バージョンです。この番号は、gist ページのリビジョン列から取得できます。^ は必須です。このコマンドは、バージョンを eexxaa から最新のものにインタラクティブに変更させてくださいという意味です。このコマンドは、レポ内の各バージョンの各行にコマンドが入力されたエディターを開きます。デフォルトのコマンドは 'pick' で、'このバージョンを使用または保持する' という意味です。
エディターの最初の行は次のようになります。
pick eexxaa <- the version with the password
pick ffxxbb <- the first version without the password
これをに変更
pick eexxaa
squash ffxxbb
つまり、パスワードのないバージョンでは、'pick' という単語を 'squash' に変更します。これにより、新しい (パスワードのない) バージョンを古い (パスワードを保持している) バージョンに押しつぶし、基本的にバージョン eexxaa を削除するようにリベースに要求します。明らかに、あなたのバージョンは eexxaa または ffxxbb 以外になります。どこでも eexxaa または ffxxbb を文字通り使用しないでください。
@kandが指摘squash
しているように、パスワードを含むすべてのバージョンを使用する必要があります。
エディターで保存して終了します (vi :x の場合)。リベースは、2 つのバージョンのコミット メッセージを表示し、1 つの結合されたコミット メッセージを要求する新しいエディターを開く必要があります。要旨の場合、これらのメッセージは空である可能性が非常に高いですが、ここに何かを入れる必要があります。そうしないと、リベースが中止されます。メッセージを入力し、保存して終了すると、リベースが完了するはずです。
これで、パスワードを含むバージョンのないリポジトリができました。これを要点に戻すには、次を使用します。
git push -f
これにより、変更が github リポジトリに強制的に適用されます。更新をクリックすると、右側のリビジョン列から問題のあるバージョンが削除されたことをブラウザーで確認できるはずです。
それでおしまい!