0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Gitでコミットをまとめる

Last updated at Posted at 2021-08-10

##概要

コミットした後にミスに気付いて修正、それが何回も続くことがある。
最初のコミットは修正部分だが、それより後は微修正。それで4コミットも5コミットも表示されると肩身が狭い。
コミットをまとめて履歴をきれいにしよう。

ローカルの場合(SourceTreeを使う)

参考

3つまとめる場合には、最新のコミットから4つ目のコミットを選択状態にし、右クリックから「(4つ前のコミットハッシュ)の子を対話形式でリベース」を選択。
一番上のコミットを選択し、「過去を含めて squash する」 をクリック、を まとめるコミット数 - 1 回繰り返す。
最後に「メッセージを編集」をクリックしてまとめたあとのメッセージを設定する。
上記リンク先では「メッセージを編集」を先にしているが、コミットメッセージに「(+2 squashed commits)」とか付くので、付かない方が良い場合には最後にしよう。
「OK」をクリックするとコミットがまとまります。

リモートの場合(Gitコマンド)

すでにリモートにプッシュしたコミットの場合は、コマンドラインを使うのが良いようだ。

参考

まとめたいコミットがあるブランチに移動して、

$ git rebase -i HEAD~3

上記のrebaseコマンドを使う。最後の「3」はまとめるコミット数。
(※3つのコミットが1つのコミットにまとまる、という意味。減るコミットは2つ。)
コミット一覧が表示されるので、一番上の行以外の「pick」を「s」(squashの略)に修正
「:wq!」で抜けると、次にメッセージの編集画面になる。
メッセージを編集してさらに「wq!」
最後に

$ git push origin +{ブランチ名}
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?