Mazn.net

やってみて 調べてみて 苦労しなけりゃ 箱は動かじ

gitで過去のコミットを書き換える方法まとめ

      2013/07/15

コミットしてしまった後に恥ずかしい間違いに気づいて書き換えたい時の対処方法。

まずは基本。直前にコミットしたものを修正するには、

  1. ファイル(hoge.txt) を修正する
  2. 修正したファイルをaddする
    $ git add hoge.txt
  3. 修正をコミットする
    $ git commit –amend

これだけです。コミットのコメントのみを書き換えたい時は、3だけを実行すればOK。

次はもっと古い過去を書き換えたい時。ちょっと手順が複雑になります。

  1. 今のブランチ名をい記録する (ここではmasterとします)
  2. 書き換えたい歴史を探す (今回はコミットのハッシュ値が abcd1234 とする)
    $ git log
  3. コミットを取り出す
    $ git checkout abcd1234
  4. 恥ずかしい間違いを修正する
  5. 修正したファイルをaddする
    $ git add hoge.txt
  6. 修正をコミットする
    $ git commit –amend
  7. masterの現在と書き換えたい過去までの間にあったまともな歴史を、今書き換えた過去の上に再構築する
    $ git rebase –onto HEAD abcd1234 master
    ※過去が古ければ古いほど時間がかかります

結論。遠い過去の記憶を掘り起こすのは人と同じで大変です (^^;

 - IT技術, プログラミング

336px

Message

メールアドレスが公開されることはありません。

  関連記事

no image
Windowsが勝手に再起動するのを防止@Windows Vista

Windows Vistaで、Windowsを更新して、ほったらかしていると勝手 …

no image
perlのCPANでモジュールをインストール@Debian Etch

CPANにはperlのモジュールが多数登録されています。これをインストールする方 …

no image
Google IME (mozc) のインストール@Fedora 17

Google製のLinux用IME、Mozc をインストールしてみた。 # yu …

no image
CygwinでWindowsの拡張子に関連づけられたファイルを簡単に開く

Cygwin 使っていると、コマンドラインでいろいろと処理したくなりますよね? …

no image
screenを起動するとウィンドウの幅が変わる@RHEL6

Windows上からsshログインしたRHEL6でscreenを使うと、ウィンド …

no image
PS3 Media Server で自動起動できない@Windows 7 64bit

PS3 Media Player へ、DLNA環境をWindows Media …

no image
CodeReadingWiki 改造版でソースコード解読

etherさん作成のCodeReadingWiki が、ソースコードを読むのにす …

no image
Fedora 16 のLive CD (iso) を USBメモリから起動する @ grub2

まずはじめに、結論から言うと、Ubuntu の iso はUSBメモリから直接起 …

no image
PS3のアップデートチェック

PS3をインターネットに繋いでいると、起動時にソニーのサイトにアップデートチェッ …

no image
Galaxy SIIIのカメラのシャッター音を消す@Android 4.1.2

root 化した端末必須です。 root 権限で実行でき、/system を読み …