diff --git a/src/levels/remote/mergeManyFeatures.js b/src/levels/remote/mergeManyFeatures.js index 3cf6b1bd..218979e1 100644 --- a/src/levels/remote/mergeManyFeatures.js +++ b/src/levels/remote/mergeManyFeatures.js @@ -19,7 +19,7 @@ exports.level = { "es_AR": "¡Prestá atención al árbol final!", "pt_BR": "Preste atenção na árvore do objetivo!", "de_DE": "Beachte den Ziel-Baum!", - "ja" : "ゴールツリーに注意!", + "ja" : "ゴールツリーをよく見てください!", "fr_FR": "Respectez l'arbre représentant l'objectif !" }, "compareOnlyMaster": true, @@ -338,6 +338,51 @@ exports.level = { } } ] + }, + "ja": { + "childViews": [ + { + "type": "ModalAlert", + "options": { + "markdowns": [ + "## なぜマージではいけないのか?", + "", + "新しい更新をリモートにプッシュするため、あなたがする必要があるのはリモートからの最近の変更の*組み込み*です。それは、リモートブランチ(例えば、`o/master`)にリベース*か*マージのどちらかをあなたがする必要があるということを意味します。", + "", + "もしどっちの方法でも行うことができるなら、なぜこれまでのレッスンでは、リベースに焦点を当ててきたのでしょう?リモートへの作業で、なぜ`merge`を推してこなかったのでしょうか?", + "" + ] + } + }, + { + "type": "ModalAlert", + "options": { + "markdowns": [ + "開発コミュニティで、マージとリベースの間でのトレードオフについては多くの議論がなされています。ここでは一般的なレベースのメリット/デメリットを紹介しましょう:", + "", + "メリット:", + "", + "* リベースは全てが直線上にあるので、あなたのコミットツリーをとても綺麗にみせます。", + "", + "デメリット:", + "", + "* リベースは、コミットツリーの(見ため上の)履歴を改変してしまいます。", + "", + "例えば、`C1`コミットは*過去*の`C3`コミットをリベースすることができます。それは、実際には前に完了しているのにもかかわらず、`C1'`の作業がまるで`C3`の後に行われたものであるかのように見えるようになります。", + "", + "幾人かの開発者は、履歴をそのまま保持するのが好みで、マージを選択します。その他(例えば私は)きれいなコミットツリーを好むのでリベースを選択します。つまるところ、好みの問題というわけですね :D" + ] + } + }, + { + "type": "ModalAlert", + "options": { + "markdowns": [ + "このレベルでは、前回のレベルを*マージ*を代わりに使って解いてみてください。ちょっと難しいかもしれませんが、このレッスンのポイントを把握するのに十分な知見を得られるはずです。" + ] + } + } + ] } } };