👋

【Git】自分ののためのrebase関連の備忘録

2023/03/24に公開

リベースで複数のコミットをまとめる

gitコマンド

rebaseを行う

git rebase -i 48ef963(ここはコミット番号)

  • まとめたいコミットがあるとして、そのひとつ前のコミットを-iの後に記入する
  • サンプル(commit_1(一番昔)〜commit_3(最新)と設定し、commit3→2に取り込みたい)
$ git rebase -i commit_1 (まとめたいコミット(2)の一つ手前を指定)

ターミナル・インサートモードに入り、

  • pick(p) = 「このコミットがコミット元ですよ」
  • squash(s) = 「このコミットをpickに取り込みますよ
    ってこと。らしい
    例を示すと、、、
pick commit_2 commitメッセージ(02/01)
s commit_3 commitメッセージ(03/03)

って感じかな

強制Push(mainブランチしかない時などforce pushをしていい時に限る)

git push --force-with-lease origin HEAD
git push --force-with-leaseとすることで強制的にリモートを上書きできる

インサートモードの終了オプション

:q 終了
:q! 変更を保存せずに終了
:w 上書き保存
:w! 強制的に上書き保存
:wq 保存して終了

また続き書ききます

GitHubで編集を提案

Discussion