この「パスワードを追加しちゃった」コミットで、ソースコードに直接パスワードを書いてしまっています。xxxxに変えて、隠しましょう。そのために、まず新しいブランチを用意します。<修正したいコミットの一個前のコミット>を実行して書き換え開始です。-iでインタラクティブモードを使うと、コミットを直接書き換えることができるようです。するとインタラクティブなので、こういう感じでエディタが現れます。パスワードを追加しちゃったコミット。e27ea6a」に書き換えてエディタを終了します。パスワードを追加しちゃったコミット。--continueと指示が出てくるので、書き換えましょう。書き換えたソースがこれ。以下のコードはあくまでサンプルであり、何の意味もありません。"ちさ"});db.close();ちゃんと隠しました。指示されたとおり–amendでコミットします。deletion(-)これで書き換えられましたとさ。–continueで再度適用しなおします。–allってやって全コミットを可視化すると...ちゃんと枝分かれしてます。masterを消してrewritteをmasterにrenameすれば、完全に書き換えたことになります。ここで注意しないと行けないのが、「ロード処理的なもの~」というコミットが2つ存在することです。-iして書き換えると、その時点以降のコミットはすべて別のコミット扱いになるので、注意が必要です。最初のコミットはどうするの?上では修正したいコミットの一個前のコミットを指定しましたが、じゃあその一個前のコミットがない、最初のコミットはどうすればいいの?その場合のサンプルも用意してみました→github:ledyba/__sample__RewriteGitHist2この時は若干面倒くさいです。–hardで一番最初まで戻ります。--amendこうすると、tmpブランチはmasterブランチとは一切つながりのない孤立したブランチとなります。