[Git] rebaseコマンド

複数メンバーで開発していると、よくブランチで作業中に他のメンバーの修正がmasterに取り込まれたりして、
作業ブランチの環境が古くなり、プルリクエストをした際にコンフリクトが起きてしまうことが屡々ある。

そんな時、作業ブランチを最新状態に更新してコンフリクトを解消してプルリクエストを出すのだが、
最新状態にする方法として、mergeとrebaseがある。

mergeの場合、余計なコミットログが残ってしまうので、個人的にはrebaseでスッキリとさせる方が好きです。

慣れれば、簡単だが以下にコマンドをメモ。

git checkout master
git pull
git checkout xxxxx
git rebase master

競合しなければ、これで完了だが、競合した場合は以下も行う。

git diff
 → 競合箇所を確認

競合箇所を修正

git add xxxxx.zzz
 → rebase時にパス付きでコンフリクトしたファイル名は表示されるので、それを指定

git rebase --continue
 → rebaseの場合は、commitではなく、continueを使用します


rebaseした後にプッシュする際は -f オプションをつけて強制プッシュにしないと失敗しますので注意。

git push -f origin xxxxx:xxxxx

コメントの投稿

非公開コメント

プロフィール

hiiro

Author:hiiro

最新記事
カテゴリ
月別アーカイブ
最新コメント
最新トラックバック
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
Counter