LinuxおよびGitを開発したLinus Torvalds氏が、Gitのマージに関して直々にアドバイスしていた事がわかり、注目を集めています(Phoronix)。
Linus Torvalds氏のGitマージに関する実践的なアドバイスは「もしマージのことを説明できないのなら、やらないことだ。これは本当に簡単なことです。マージの理由を説明しないままマージすることは絶対に許されない」というものです。
Linus氏はマージに対するコメントが十分に含まれていないプルリクエストを発見し、我慢の限界を突破したのか、LKMLに以下のようなのメッセージを投稿しています。
So I've pulled this, but while looking at it, I see commit 5c0f220e1b2d ("Merge branch 'for-linus/hardening' into for-next/hardening").
で、これを引っ張ってきたのですが、見ているとコミット 5c0f220e1b2d ("Merge branch 'for-linus/hardening' into for-next/hardening") が出てきますね。
And that one-liner shortlog part is literally the whole commit message.
そして、その一行だけのショートログ部分が文字通りコミットメッセージの全てです。
I've said this before, and apparently I need to say this again: if you cannot be bothered to explain *WHY* a merge exists, then that merge is buggy garbage by definition.
以前にも言いましたが、どうやらもう一度言う必要がありそうです。マージが存在する*WHY*を説明するのが面倒なら、そのマージは定義上バグの多いゴミということになります。
This really should be a rule that every single developer should take to heart. I'm not just putting random words together in a random order.
これは本当に、すべての開発者が心に刻むべきルールです。適当に言葉を並べているわけではありません。
I repeat: if you cannot explain a merge, then JUST DON'T DO IT.
繰り返しになりますが、もしマージを説明できないのなら、やらないことです。
It's really that simple. There is absolutely *NEVER* an excuse for merges without explaining why those merges exist.
もしマージのことを説明できないのなら、やらないことだ。これは本当に簡単なことです。マージの理由を説明しないままマージすることは絶対に許されない。
In this case, I really think that merge should not have existed at all, and the lack of explanation is because there *IS* no explanation for it.
この場合、私はそのマージは存在すべきではなかったと思いますし、説明がないのは、そのための説明がないからです。
But if there was a reason for it, then just state it, dammit, and make that merge commit look sensible.
しかし、もしその理由があるのなら、それを述べて、そのマージコミットが理にかなったものに見えるようにすればいいのです。
Because right now it just looks entirely pointless. And I literally *detest* pointless merges. They only make the history look worse and harder to read.
なぜなら、今はまったく無意味に見えるからです。そして、私は文字通り無意味なマージを否定します。それらは履歴を悪くし、読みにくくするだけです。
もともとGitはLinus氏がLinux開発のために作成した分散型のバージョン管理システムです。作者がGitのマージをどのように考えているのかが分かる貴重な情報だといえそうです。