rebaseのススメ

公開日:2019-04-19
最終更新:2019-04-19

gitでmasterからfeatureブランチを切って開発するときに、masterブランチのコミットログをきれいに保つためにrebaseを活用します。

masterブランチの変更をfeatureブランチに取り込む

$ git pull --rebase origin master  

git pull--rebaseオプションをつけて実行します。
通常のpullだとfetch+mergeという動きになるのですが、--rebaseをつけるとfetch+rebaseとなります。
これにより、featureブランチをmasterの最新の状態に更新しつつ、featureブランチでコミットした変更が履歴の先頭になります。

利点

  • git logでみたときにmasterのコミットとfeatureブランチのコミットが混ざらない
  • rebaseなのでマージコミットが作られない

があります。

注意点

  • rebaseをすると歴史が改変されるので、リモートにpushするときは-fオプションをつける必要がある
  • 同じブランチで複数人で開発しているときは、安易に実施せず共同開発者とよく相談する必要がある

masterブランチにマージする前に

開発をしているとtypoの修正などの微妙なコミットも積み上がっていくと思います。
マージするまえにfeatureブランチのコミットをrebaseを使ってきれいにします。

$ git rebase -i master  

-iをつけてintractiveに実行し、fixupやsquashで余計なコミットをまとめます。

まとめ

rebaseをうまく使ってコミットログをきれいに保つことによって、過去のコミットを追いやすくなったり、
ある特定の状態に戻したいというときにわかりやすいなどメリットがあります。

記事が少しでもいいなと思ったらクラップを送ってみよう!
1
+1
@murayamaの技術ブログ

よく一緒に読まれている記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう
目次をみる

技術ブログをはじめよう

Qrunch(クランチ)は、ITエンジニアリングに携わる全ての人のための技術ブログプラットフォームです。

技術ブログを開設する

Qrunchでアウトプットをはじめよう

Qrunch(クランチ)は、ITエンジニアリングに携わる全ての人のための技術ブログプラットフォームです。

Markdownで書ける

ログ機能でアウトプットを加速

デザインのカスタマイズが可能

技術ブログ開設

ここから先はアカウント(ブログ)開設が必要です

英数字4文字以上
.qrunch.io
英数字6文字以上
ログインする