git rebaseを学ぶ

 3/7の勉強会の後、自分のGitの使い方の問題を再現するシェルを岩松氏からいただきました。それをもとに色々と試行錯誤してみて、指摘された問題についての理解を深めました。

 結論から言うと、main streamにたいして、pushを早い者勝ちにするなら、pushする前にpullしてrebaseすれば良い。ただしこの場合、rebaseしてからpushすることで履歴が改変されてしまう(履歴のハッシュ値が変わってしまう)ことに注意しなければならない。

 履歴が変わってしまうのは不便な気がしますし、本当はもっと良い方法があるのかもしれません。そのあたりは、もう少し試行錯誤しようと思います。また、より良い使い方を模索していくためには、Gitの仕組みそのものに首を突っ込む必要がありそうです。