📝
リベースで変更履歴を修正しよう
rebaseとは
一言で言えばブランチの基点となるコミット(親コミット)を、別のコミットに移動すること。
イメージ

簡単にいうと履歴が枝分かれしているのが、一直線になります。
コードは以下の通りです。
$ git rebase <ブランチ名>
メリット
履歴を一直線にすることができる。
rebaseでしてはいけないこと
githubにpushしたコミットをrebaseするのはNG。
これをするとgit pushできなくなります。
mergeとrebaseの違い
似ているコマンドにmergeがあったと思います。
このmergeとrebaseのメリットデメリットを比較します。
merge
○コンフリクトの解決が簡単
×マージコミットがたくさんあると履歴が複雑
rebase
○履歴をきれいに保つことができる
×コンフリクトの解決が厳しい。
どっちを使うべき?
pushしていないローカルの変更はrebaseを使い、
pushした後はmergeを使おう。
コンフリクトが怖いならmerge一択。
Discussion