Help us understand the problem. What is going on with this article?

Gitで急いで戻したいならmerge --no-ffを使う

git merge --no-ff のメリットを伝えるのに

  • 実案件のログは使いづらいので
  • 年齢の commit graph を作ったら
  • うまく伝わりました

--no-ff のログです

  • 幼児期おわりはどこですか?
    • 幼児期おわりは ab4ec9c ですね
  • git merge --no-ff で明示的に commit が発生しているから
    • 戻りやすいです
*   0b5c1f7 Merge branch 'youchien' 小学校入学
|\
| * 97e32e8 (youchien) 6歳
| * 0d14f30 5歳
| * c6e411e 4歳
|/
*   ab4ec9c Merge branch 'youjiki' 幼児期おわり
|\
| * 4c9ea5b (youjiki) 3歳
| * 5cc59f5 2歳
| * f8eeb21 1歳
|/
* cb68c3f 0歳

もし --ff だったら

  • 線が分かれていないので
  • すっごい迷いますよね?
* 716457a (HEAD -> master, youchien2) 6歳
* 6d0f305 5歳
* 25960d4 4歳
* becc580 (youjiki2) 3歳
* 39229cf 2歳
* d8cd3cc 1歳
* cb68c3f 0歳

どういう状況?

実は今日、本番公開だったのですが、わずか数分後に元に戻して欲しいと連絡があり、後輩があたふたしていたのでfast-fowardについて話しました。頻繁に巻き戻しが発生する私の用途では--no-ffの見通しのよさにメリットを感じていますと。うまく伝わったみたいで嬉しかったです。

参考

後輩にきちんと教えるために用語は下記を参考にしました。

追記

毎回 commit graph を作成するのが大変だったので、スクリプト化しました。
年齢の commit graph 作成スクリプト(git merge --no-ff の説明用) をご確認ください。

mrk461
phpエンジニア / EC / CMS / cakephp(php) / plone(python) / wordpress(php) / movabletype(perl)
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away