LoginSignup
0
0

More than 3 years have passed since last update.

git で rebaseをするときのコマンドフロー

Last updated at Posted at 2020-11-23

ネットで検索しても中々見つけられなかったので、
git rebaseのコマンドフローを書き記しておきます :pencil:
GUI使わずコマンドでgitを扱う方は参考になるかもしれないです :thinking:

ちなみに環境ですが、
mac & VSCodeでターミナルを開いて行っています:smirk:

その前に

変な空白が入ってたりすると、
Whitespace云々でgit rebase中に怒られてしまうので、
VSCodeをお使いの方はsettings.jsonに下記設定を追加しておいてください!

"files.trimTrailingWhitespace": true

Here We Go !!

ではここから作業フローになります。
開発ブランチ名 : develop
自分の作業ブランチ名 : feature-branch
の場合を想定して進めていきます:thumbsup:

$はbashで進めた時を想定してつけているので、各々の環境で適宜脳内変換してください〜!

// 作業をコミットしておく
$ git add [作業ファイル]
$ git commit -m "作業メッセージ"

// 開発ブランチへ移動
$ git checkout develop

// 最新のもの必ずとってきてください!
$ git pull origin develop

// 自分の作業ブランチに戻ってから開発ブランチをrebase
$ git checkout feature-branch
$ git rebase develop

// ⭐️rebase中にconflictしなかった場合
// おめでとうございます🎉 pushしてしまいましょう
// 一回でもpushした場合
$ git push --force-with-lease origin feature-branch
//もしくは
//※今回が最初のpushだったら--forceはなくてもいけると思います
$ git push origin feature-branch

// ⭐️rebase中にconflictしてしまった場合
// とりあえず確認してファイルを治しましょう
$ git status
// commitはせず、add のみ
$ git add [conflictしてるファイル名]
// 次のcommitに行きます。そこでもconflictしたら↑と同じことしてください
$ git rebase --continue

全て終わったら、[⭐️rebase中にconflictしなかった場合]に飛んでください

ちなみにrebase自体やり直したいときは、自分の作業ブランチで

$ git rebase --abort

rebase後に間違って自分の作業ブランチをpullしてしまった場合は

$ git merge --abort 

でなかったことにできるので安心してくださいね :relaxed:

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