今回は「git rebase」について投稿します。
gitで悪戦苦闘することの1つに、git rebaseがあると思います。
そんなrebaseについて振り返ってみました。
1: git rebaseとは?
- 今までコミットしてきた"複数のブランチ"を「一直線の道筋にして、整える」コマンドです。
gitコマンド
git rebase
■例
例えばmainブランチと、featureブランチの2つがありました。
- mainブランチには、「コミット履歴が3つ」あります。
- featureブランチには、「コミット履歴が2つ」あります。
2つのブランチがあることにより、ブランチは枝分かれしていますね。
枝分かれで進めている最中に、「mainブランチに、featureブランチを取り込んで履歴を一直線に綺麗にしたい。」と思いました。
そこで使うのが「git rebaseコマンド」です。
featureブランチにいる状態で、下記を入力。
git rebase main
■結果
「mainブランチに、featureブランチ」が統合されます。
- mainブランチに「featureブランチ」が移動します。
- "以前のfeatureブランチ"は消滅しています。
- つまり…「mainブランチの最新コミットに、featureブランチとそのコミットが、新しく追加されるのです。」
2: 注意事項
git rebaseコマンドは「Git Hubにプッシュしたコミットをrebaseすることだけは注意しましょう。一度pushしたらそれ以降はgit rebaseを使わないことが安全です。」
⬇︎
なぜなら、再度pushできなくなるからです。具体的に言うなら「Git Hubのpush履歴がごちゃごちゃになる」からです。
他のメンバーがpushできなくなったりするので、要注意ですね。
初めての投稿でしたが…
中々時間がかかりました…。
打つ内容を考えて、Qiitaに記載して合計1時間30分くらいですね…。
次はもう少し記載する時間を短くしたいなと思います。メモ帳などに隙間時間で書いていた方が良さそうです。