水島雄太のブログ

個人的かつ雑多なブログです。

git rebase

  • git rebaseするときの注意点

git rebaseはbranchを切ってからのcommitを全て書き換えてしまう(ハッシュも違うものになる)ので、リモートブランチにpushしてから、git rebaseを行うと、そのままではpush出来ず、
間違えてpull してしまうと、同じ内容のコミットが別のコミットとして扱われ、同一の内容が重複してマージされてしまう。
とりあえず、

  1. 公開ブランチでは絶対にgit rebaseしない。
  2. pushに失敗したら、リモートとローカルのコミット履歴を確認した上で、git push -fを行う(確認をせずにpush -fを行わない。もし他の人がそのブランチにcommitしていた場合、最悪そのcommitが失われる。)
  3. git rebaseした後は、pushするまで絶対にpullは行わない

この位守っておけば、大失敗はしないかな?

何にせよ、git rebaseはgitの仕組みをちゃんと理解してないと危険だよな。