[Git]スカッシュについて

開発とかで、Gitを使っていての話。

コミットをミスったりしたり、追加でコミットしたりでちょっとカッコ悪くなったときにスッキリさせるために調べました。
※スカッシュは、恥ずかしいコミットメッセージや無駄なコミットが蓄積していた場合でも、まとめて1つのコミットに書き換るためによく使います。

確かにすぐ忘れます。。。

リベース手順

  1. feature/hogeブランチをダブルクリックしてチェックアウトする。
  2. グラフ上でdevelopブランチの先端を右クリックして「リベース」をクリック。
  3. 競合が発生しなければこれで終わり。
  4. 競合が発生したら、サイドバーの「作業コピー」をクリックして、コンフリクトしてるファイルを確認し、エディタで競合を解決する。
  5. 作業ツリーのファイル一覧から競合を解決したファイルを右クリックして、「競合を解決」->「解決済みにする」をクリック。
  6. メニューから「操作」->「リベースを続ける」をクリック。
  7. もしまた競合が発生したら、4〜6の作業を繰り返す。

スカッシュ手順

  1. feature/hogeブランチをダブルクリックしてチェックアウトする。
  2. グラフ上でブランチの分岐元(この例だとfacea0b)を右クリックして、「xxxxxxの子を対話形式でリベース」をクリック。
  3. ダイアログ上で、一番上のコミットを選んだ状態で「過去を含めてsquashする」をクリック。クリックする度に1つずつ過去のコミットがスカッシュ対象に加えられるので、以下の様に全てのコミットがスカッシュ対象になるまでクリックする。
  4. 「メッセージを編集」をクリックしてコミットメッセージを入力。
  5. OKボタンを押して完了。

参考:すぐ忘れる!SourceTreeを使ったリベースとスカッシュの手順

コメント

タイトルとURLをコピーしました