diff --git a/src/levels/remote/clone.js b/src/levels/remote/clone.js index 5beb4a2d..c8cbf929 100644 --- a/src/levels/remote/clone.js +++ b/src/levels/remote/clone.js @@ -9,7 +9,8 @@ exports.level = { "es_AR": "Introducción a clone", "pt_BR": "Introdução à clonagem", "zh_CN": "介绍 Clone", - "zh_TW": "介紹 clone" + "zh_TW": "介紹 clone", + "ru_RU": "Введение в клонирование" }, "hint": { "en_US": "Just git clone!", @@ -19,7 +20,8 @@ exports.level = { "zh_CN": "只要 git clone!", "es_AR": "Simplemente hacé git clone!", "pt_BR": "Basta fazer um git clone!", - "zh_TW": "只要 git clone 就好了" + "zh_TW": "只要 git clone 就好了", + "ru_RU": "Простой git clone!" }, "startDialog": { "en_US": { @@ -514,7 +516,7 @@ exports.level = { "type": "GitDemonstrationView", "options": { "beforeMarkdowns": [ - "Навайте начнём медленно и взглянем на то что собой представляет удалённый репозиторий (в нащем представлении).", + "Давайте начнём постепенное изучение и взглянем на то, что собой представляет удалённый репозиторий (в нащем представлении).", "" ], "afterMarkdowns": [ diff --git a/src/levels/remote/remoteBranches.js b/src/levels/remote/remoteBranches.js index d19fb7c5..7db4e40f 100644 --- a/src/levels/remote/remoteBranches.js +++ b/src/levels/remote/remoteBranches.js @@ -10,7 +10,8 @@ exports.level = { "pt_BR": "Ramos remotos", "de_DE": "Branches auf entfernten Servern", "ja" : "リモートのブランチ", - "fr_FR": "Les branches distantes" + "fr_FR": "Les branches distantes", + "ru_RU": "Удалённые ветки" }, "hint": { "en_US": "Pay attention to the ordering -- commit on master first!", @@ -20,7 +21,8 @@ exports.level = { "pt_BR": "Preste atenção na ordem: commite no master primeiro!", "de_DE": "Beachte die Sortierung -- committe zuerst auf dem master!", "ja" : "順番に注意 -- まずmasterに対してcommitしましょう", - "fr_FR": "Prêtez attention à l'ordre -- les commits sur master d'abord !" + "fr_FR": "Prêtez attention à l'ordre -- les commits sur master d'abord !", + "ru_RU": "Уделяйте внимание очерёдности -- сперва commit на master" }, "startDialog": { "en_US": { @@ -389,7 +391,7 @@ exports.level = { } ] }, - "zh_CN": { + "zh_CN": { "childViews": [ { "type": "ModalAlert", @@ -510,6 +512,67 @@ exports.level = { } } ] + }, + "ru_RU": { + "childViews": [ + { + "type": "ModalAlert", + "options": { + "markdowns": [ + "## Удалённые ветки в Git", + "", + "Теперь, когда Вы уже увидели `git clone` в действии, давайте углубимся в детали и посмотрим что же на самом деле изменилось.", + "", + "Во-первых, Вы должны были заметить что у нас появилась новая ветка в нашем локальном репозитории с именем `o/master`. Такой тип ветки называется _удалённой_ веткой; поскольку удалённые ветки играют важную и уникальную роль, они обладают рядом специальных свойств.", + "", + "Удалённые ветки отражают _состояние_ удалённых репозиториев (с того момента как Вы обращались к этим удалённым репозиториям в последний раз). Они позволяют Вам отслеживать и видить разницу между Вашими локальными наработками и тем что было сделано другими участниками -- важный шаг, который необходимо делать, прежде чем делиться своими наработками с другими.", + "", + "Важным свойством удалённых веток является тот факт, что когда Вы извлекаете их Вы отделяете (detaching) `HEAD`. Git делает это потому что Вы не можете работать непосредственно в этих ветках; сперва Вам необходимо сделать наработки где-либо, а уж затем делиться ими с удалёнными репозиториями (после чего Ваши удалённые ветки будут обновлены)." + ] + } + }, + { + "type": "ModalAlert", + "options": { + "markdowns": [ + "### Что такое `o/` в названии ветки ?", + "", + "Вы наверное догодались, что первый символ `o/` в названии ветки служит для обозначения именно удалённых веток. Да. Удалённые ветки также имеют (обязательное) правило именования -- они отображаются в формате:", + "", + "* `<удалённый репозиторий>/<имя ветки>`", + "", + "Следовательно, если Вы взгляние на имя ветки `o/master`, то здесь `master` - это имя ветки, а `o` - это имя удалённого репозитория.", + "", + "Большинство разработчиков именуют свои главные удалённые репозитории не как `o`, а как `origin`. Также общепринятым является именование удалённого репозитория как `origin`, когда Вы клонируете репозиторий командой `git clone`.", + "", + "К сожалению, полное имя `origin` не помещается на элементах дизайна наших уроков, поэтому мы используем краткое `o` :( Просто помните, когда Вы пользуетесь git в реальном проекте, Ваш удалённый репозиторий скорее всего будет называться `origin`!", + "", + "Давайте посмотрим на всё это в действии." + ] + } + }, + { + "type": "GitDemonstrationView", + "options": { + "beforeMarkdowns": [ + "Давайте извлечём (check out) удалённую ветку и посмотрим что произойдёт" + ], + "afterMarkdowns": [ + "Как Вы можете видеть, git отделил (detached) `HEAD` и не обновил `o/master`, когда мы добавили новый коммит. Всё потому, что `o/master` обновится тогда и только тогда, когда обновится сам удалённый репозиторий." + ], + "command": "git checkout o/master; git commit", + "beforeCommand": "git clone" + } + }, + { + "type": "ModalAlert", + "options": { + "markdowns": [ + "Для завершения уровня, выполните коммит единожды на `master`, а затем на `o/master` (предварительно переключившись на эту ветку). Это наглядно продемонстрирует поведение удалённых веток, а также покажет, как изменения влияют на состояние удалённых репозиториев." + ] + } + } + ] } } };