2022.05.13  

【Git】rebase -i で複数のコミットをまとめる

Git    

複数のコミットをひとつのコミットとしてまとめる方法について記載します。

この手順を行う前に、編集中のファイルをcommit、pushしておきます。(もしくは削除)

下記コマンドでコミットの状態を確認しておきます。

git log --oneline -n <件数>

コミットをまとめるには、git rebase -i HEAD~nを実行します。

nには直近からコミットをまとめる件数を指定します。

下記のようにコマンドを実行すると、コミットの古い方から順番に履歴が出力されます。

git rebase -i HEAD~8  
# コミットが古い方が上。新しい方が下。
pick ecf0c15 test 
pick 6855412 xxx処理のモック化対応
pick 5480880 xxxのテスト作成
pick caf7335 xxxのテストコード作成
pick 8b73497 誤記修正
pick 5f135a6 設定値に変更
pick 389312b go fmt  実行
pick f66c152 コミット実行


# Rebase b82de03..f66c152 onto b82de03 (8 commands)
#

履歴一番古いコミット「ecf0c15 test」に他のコミットをまとめます。そうするには「pick f66c152」のpickをrに、それ以外のコミットのpickをfに修正します。

:%s/pick/f/gを実行するとpickの部分をfに置換できます。

※「ecf0c15 test」より新しいコミットに「r」や「p」を設定すると処理がエラーとなってしまう。基本的に古いコミットを基準に新しいコミットをまとめるイメージでいれば上手くいく。

# pickを書き換える
r ecf0c15 test
f 6855412 xxx処理のモック化対応
f 5480880 xxxのテスト作成
f caf7335 xxxのテストコード作成
f 8b73497 誤記修正
f 5f135a6 設定値に変更
f 389312b go fmt  実行
f f66c152 コミット実行

# Rebase b82de03..f66c152 onto b82de03 (8 commands)
#

修正が完了したらesc:qw!を入力して保存します。

余談ですが上記以外にも次の設定が行えます。

# Commands:
# p, pick <commit> = use commit
# r, reword <commit> = use commit, but edit the commit message
# e, edit <commit> = use commit, but stop for amending
# s, squash <commit> = use commit, but meld into previous commit
# f, fixup [-C | -c] <commit> = like "squash" but keep only the previous
#                    commit's log message, unless -C is used, in which case
#                    keep only this commit's message; -c is same as -C but
#                    opens the editor
# x, exec <command> = run command (the rest of the line) using shell
# b, break = stop here (continue rebase later with 'git rebase --continue')

コミットをまとめた先の「ecf0c15 test」のコミットメッセージを変更するようviが立ち上がります。

test # ← ここを書き換えることでコメントを修正できる

# Please enter the commit message for your changes. Lines starting

今回「テスト」を 「コミットまとめ」に修正します。

コミットまとめ # ← コメントを修正

# Please enter the commit message for your changes. Lines starting

修正が完了したらesc:qw!を入力して保存します。

git log --oneline -n 表示件数 コマンドでコミットの状況を確認します。すると上記でfと設定したコミットが消え、先ほど設定した「コミットまとめ 」のメッセージのみが表示されていることを確認できます。

これでローカルのコミットをまとめられました。

git log --oneline -n 3
882151a (HEAD -> feature/XXX) コミットまとめ 
b82de03 hogehoge
1607b8c fugafuga

あとはgit push -fを実行すればリモートにも変更が適用されます。

git push -f
コメント
@Asiansfoorp
2023年7月27日0:22
Hello guys! Nice article RURUK BLOG
Лучший сайт для покупки товаров разной направленности - MEGA (<a href="https://xn--mgasb-6za.com">https://xn--meg-sb-yoc.com</a>). Это крупнейшая в России и СНГ торговая анонимная площадка, которая позволяет быстро и безопасно продавать и покупать товары любого типа. Для каждого пользователя представлена масса возможностей. К тому же, у каждого продавца есть рейтинг, отзывы, и другая информация, которая поможет вам подобрать подходящее предложение. — это лучший, и наверное, единственный сайт, на котором можно купить любые товары, независимо от вашего желания и требований. При этом Администрация сайта <a href="https://xn--mga-sb-ph8b.com">магазин мега</a> гарантирует анонимность и безопасность при совершении сделок. И контролирует каждую покупку, чтобы пользователей не обманывали. Именно поэтому площадка настолько востребована и популярна.


<a href=https://xn--mga-sb-ph8b.com>mega sb</a>

<a href="https://xn--mga-sb-ph8b.com">mega сайт</a>
<a href="https://xn--meg-cla.com">мега даркнет</a>
<a href="https://xn--meg-sb-yoc.com">mega ссылка</a>
<a href="https://xn--meg-sb-yoc.com">ссылка на mega</a>
<a href="https://xn--mg-8ma3631a.com">ссылки mega</a>

ph99bGGoma
@DixieMex
2023年7月28日0:18
Bro - RURUK BLOG - Best info!
-

Если вам нужно купить что-то, то посещение оригинального маркетплейса Kraken будет правильным решением. У нас вы найдете все, что вам нужно, и сможете совершать покупки с полной уверенностью в безопасности и анонимности. Присоединяйтесь к нашей платформе уже сейчас и наслаждайтесь широким выбором позиций. Официальный магазин Кракен доступен по адресу:<a href="https://xn--v-2-7ua.com">https://xn--2ra-7ua.cc</a> . Для его посещения не требуется подключение к Тор или VPN. Просто кликните на наш веб-сайт и окунитесь в огромный магазин с безграничными возможностями. Не упускайте время и исследуйте новый мир, который ждет вас на Кракене.


Re: <a href=https://xn--2ran-g0a.com>кракен онион </a>

jrehfure9o1

<a href=https://lgz.ru/news/sol_alteraty/>кракен</a>
<a href=http://escuelaechile.cl/news/viewpost/205064/11055>kraken</a>
<a href=https://de.shenzhenaudio.com/blogs/news/kinera-norn-1dd-4ba-iems-now-available?comment=132500979955#comments>кракен ссылка</a>
<a href=https://aljarmaq.net/post/16346/%D9%85%D8%B2%D8%A7%D8%B9%D9%85-%D8%A5%D8%B3%D8%B1%D8%A7%D8%A6%D9%8A%D9%84%D9%8A%D8%A9-%D8%A8%D9%82%D9%8A%D8%A7%D9%85-%D8%A3%D8%B7%D9%81%D8%A7%D9%84-%D8%A8%D8%A5%D9%84%D9%82%D8%A7%D8%A1-%D8%A7%D9%84%D8%AD%D8%AC%D8%A7%D8%B1%D8%A9-%D8%B9%D9%84%D9%89-%D8%B3%D9%8A%D8%A7%D8%B1%D8%A7%D8%AA-%D8%AC%D9%86%D9%88%D8%A8-%D8%A7%D9%84%D8%A8%D9%84%D8%A7%D8%AF>кракен даркнет</a>
<a href=https://aljarmaq.net/post/2854/%D8%B9%D9%82%D8%A8-%D8%AF%D8%AE%D9%88%D9%84%D9%87%D8%A7-%D8%AD%D9%83%D9%88%D9%85%D8%A9-%D8%A5%D8%B3%D8%B1%D8%A7%D8%A6%D9%8A%D9%84-%D8%A7%D9%84%D9%85%D9%88%D8%AD%D8%AF%D8%A9-%D8%AA%D9%88%D8%A7%D8%AC%D9%87-%D8%A7%D8%AD%D8%AA%D9%85%D8%A7%D9%84%D9%8A%D8%A9-%D8%A7%D9%84%D8%B7%D8%B1%D8%AF-%D9%85%D9%86-%D8%A7%D9%84%D9%85%D8%AA%D8%A7%D8%A8%D8%B9%D8%A9>kraken ссылка</a>
<a href=https://www.sasakmarket.com/pt/blogs/all-blogs/fun-facts-about-bamboo?comment=136227520839#comments>кракен онион</a>
<a href=https://aljarmaq.net/post/15413>kraken ссылка</a>
<a href=https://aljarmaq.net/public/post/15394/%D9%88%D8%B2%D9%8A%D8%B1%D8%A9-%D8%A7%D9%84%D8%AA%D8%B9%D9%84%D9%8A%D9%85-%D8%A7%D9%84%D8%A5%D8%B3%D8%B1%D8%A7%D8%A6%D9%8A%D9%84%D9%8A-%D9%88%D8%B2%D8%A7%D8%B1%D8%A9-%D8%A7%D9%84%D9%85%D8%A7%D9%84%D9%8A%D8%A9-%D8%BA%D9%8A%D8%B1-%D9%85%D8%B9%D9%86%D9%8A%D8%A9-%D8%A8%D8%AD%D9%84-%D8%A7%D9%84%D8%A3%D8%B2%D9%85%D8%A9-%D9%85%D8%B9-%D9%86%D9%82%D8%A7%D8%A8%D8%A9-%D8%A7%D9%84%D9%85%D8%B9%D9%84%D9%85%D9%8A%D9%86>кракен официальный сайт</a>
<a href=https://aljarmaq.net/post/11581/%D9%8A%D8%A7-%D8%A3%D9%87%D9%84%D9%8A-%D9%81%D9%8A-%D9%85%D8%AF%D9%8A%D9%86%D8%A9-%D8%A7%D9%84%D8%AE%D9%84%D9%8A%D9%84>кракен онион</a>
<a href=https://aljarmaq.net/post/17125/%D8%A5%D8%AF%D8%A7%D8%B1%D8%A9-%D8%AC%D8%A7%D9%85%D8%B9%D8%A9-%D8%A8%D9%86-%D8%BA%D9%88%D8%B1%D9%8A%D9%88%D9%86-%D8%AA%D9%81%D8%B1%D8%B6-%D9%82%D9%8A%D9%88%D8%AF%D8%A7-%D8%B9%D9%84%D9%89-%D8%A3%D9%86%D8%B4%D8%B7%D8%A9-%D8%A7%D9%84%D8%B7%D9%84%D8%A8%D8%A9-%D8%A7%D9%84%D9%81%D9%84%D8%B3%D8%B7%D9%8A%D9%86%D9%8A%D9%8A%D9%86-%D9%81%D9%8A%D9%87%D8%A7>кракен официальный сайт</a>
a1f3976
@RaymondGlymn
2023年11月19日5:55

Hellow,Admin, Hi there, first time visiting your blog and it's great!

Лучший сайт для покупки и продажи товаров - МЕГА <a href=https://xn--meg-sb-yoc.com>mega onion</a> . Сегодня MEGA даркнет является самой крупной и известной анонимной торговой площадкой в РФ. Она предлагает свои пользователям доступ к большой базе магазинов из разных стран. Здесь можно приобрести любые товары. Также вы можете сами начать продажу, зарегистрировавшись на проекте. При этом важно понимать, что сайт гарантирует безопасность, а потому проверяет каждого своего продавца. Для этого используются различные способы, в числе которых - тайные покупатели. Потому вы можете быть уверены в качестве покупаемых товаров, честности продавцов, и безопасности покупок на МЕГА онион. А для перехода на сайт, просто использовать активную ссылку МЕГА официальный сайт - <a href=https://xn--mg-g5sse.com>mega-sb</a>.


мега зеркало:https://xn--mga-sb-ph8b.com
магазин мега:https://xn--mg-g5sse.com
mega:https://xn--mg-8ma3631a.com
mega fo:https://xn--meg-sb-yoc.com

KTHH2188NIKI66!

コメントする
コメント入力

名前 (※ 必須)

メールアドレス (※ 必須 画面には表示されません)

送信