狠狠撸
Submit Search
谤别产补蝉别にまつわる3つの误解
?
Download as PPTX, PDF
?
58 likes
?
6,729 views
ymmt
Follow
"3 superstitions concerning git rebase" In-house training material at Cybozu.
Read less
Read more
1 of 6
Download now
More Related Content
谤别产补蝉别にまつわる3つの误解
1.
谤别产补蝉别にまつわる
3つの誤解 山本泰宇 @ymmt2005
2.
rebaseって? ? 最終兵器 –
文字通り、最終手段として使うべきもの – 公開レポジトリ中心の場合、まず避けるべき ? 過去の一連のコミットを – 入れ替え、削除、メッセージ変更、修正、合成 ? 公開したコミットグラフを rebase すると – push できなくなる(強制することはできるが…) – 他人の持つコミットグラフと矛盾が生じる
3.
誤解その1 「こまめにrebaseしないとコンフリクトする」 ? こまめに
merge で問題ないです $ git fetch origin $ git merge --no-ff origin/master – この直後なら、コンフリクト発生しません ? むしろ毎日 rebase とか大変 – コミットごとにコンフリクト解消が必要 – git rerere とかあるけどさ…
4.
誤解その2 「rebaseしないとコミットログが汚れる」 ?
git はコミットグラフをたどる機能も強力です – git log --first-parent --no-merges – git log --graph --pretty='%x09%h %cn%x09%s %d’ ? 一直線なコミットログなら Subversion をどうぞ
5.
誤解その3 「試行錯誤をみせたくなければrebase」 ? squash
merge でレビュー用にまとめられます $ (DEVブランチで開発して適当にコミット) $ git fetch origin $ git checkout -b TOPIC origin/master $ git merge --squash DEV $ git commit ? その後の修正コミットは squash しないでしょ? – だから rebase もいらない
6.
おまけ ? merge は
--no-ff – fast-forward しちゃうとマージが追えなくなる – 本当の意味で履歴を追うのが辛くなっちゃいます ? 目視でコミット内容を確認するしかなくなる ? --no-ff しかしないようにもできます $ git config --global merge.ff false
Download now