Git クライアントの Tower の Fixup が便利

Git クライアントの Tower の Fixup の機能が便利だったので共有します。

昨日、@mersy が「git commit --fixup が便利 #Git - Qiita」という記事を bit part の Slack にシェアしているのを見て、--fixup という便利がオプションがあるのを知りました。これは便利。

そこで、普段使っている Git クライアントの「Tower」でも Fixup が使えるのか調べてみたところ、ありました。内部で動くコマンドが、上記の元記事と正確に同じかどうかはわかりませんが、ほぼ同じことが実現できるようですので、さっそく試してみました。

現在の history

今、下図のような3つのコミットがある状態です。

この中の一番下の「README.md を追加」というコミットで追加したメッセージが「Hello World.」となっていますが、これは本来「Hello World!」とエクスクラメーションにすべきでした。

Clean Shot 2024 03 04 at 09 56 26 2x

追加の修正

そこで下図のように「Hello World!」に変更します。

Clean Shot 2024 03 04 at 09 57 23 2x

とりあえずこの修正を「ピリオドをエクスクラメーションに変更」というコミットをしました。

しかし、この修正はできれば最初の「README.md を追加」のコミットに一緒に入れておきたかったですよね。

Clean Shot 2024 03 04 at 09 59 22 2x

Fixup

ここで Fixup を使うわけですね。

まず左のメニューで現在のブランチ(ここでは main ブランチ)を選択します。

そして、コミットのリストから合体させたいコミットを Command キーを押しながら選択し、右クリックして「Fixup 2 Revisions」をクリックします。

Clean Shot 2024 03 04 at 10 00 12 2x

「Are you sure ...」と聞かれるので「Fixup Revisions」をクリックします。

Clean Shot 2024 03 04 at 10 00 33 2x

これで後から修正したエクスクラメーションの状態で最初のコミットにまとめることができました👏

Clean Shot 2024 03 04 at 10 38 09 2x

以上です。

コマンドラインもいいですが、やっぱり GUI でできるのは楽でいいです。「Tower」は有料ですが、お金を払う価値はあると思いますし、いろいろな Git クライアントを渡り歩いてきましたが、ようやく Tower に落ち着いてここ数年使い続けています。Windows版もMac版もあるので是非お試しください。

ドキュメント

Interactive Rebase | Tower Help

Published 2024-03-04
Updated 2024-03-04