diff --git a/src/levels/rampup/reversingChanges.js b/src/levels/rampup/reversingChanges.js index 6f89214b..1cd7a78f 100644 --- a/src/levels/rampup/reversingChanges.js +++ b/src/levels/rampup/reversingChanges.js @@ -12,7 +12,8 @@ exports.level = { "pt_BR": "Revertendo mudanças no Git", "ko": "Git에서 작업 되돌리기", "zh_CN": "在 Git 中撤销更改", - "zh_TW": "在 git 中取消修改 " + "zh_TW": "在 git 中取消修改 ", + "ru_RU": "Отмена изменений в Git" }, "hint": { "en_US": "Notice that revert and reset take different arguments.", @@ -23,7 +24,8 @@ exports.level = { "zh_CN": "注意 revert 和 reset 使用不同的参数。", "zh_TW": "注意 revert 和 reset 使用不同的參數。", "ko": "", - "ja" : "revertとresetとで引数が異なることに注意。" + "ja": "revertとresetとで引数が異なることに注意。", + "ru_RU": "Обрати внимание, что revert и reset принимают разные параметры." }, "startDialog": { "en_US": { @@ -592,6 +594,69 @@ exports.level = { } } ] + }, + "ru_RU": { + "childViews": [ + { + "type": "ModalAlert", + "options": { + "markdowns": [ + "## Отмена изменений в Git", + "", + "Есть много путей для отмены изменений в Git. Так же как и коммит, отмена изменений в Git возможно и на низком уровне (добавление в коммит отдельных файлов и наборов строк) и на высоком (как изменения реально отменяются). Сейчас сфокусируемся на высокоуровневой части.", + "", + "Есть два основных способа отмены изменений в Git: первый - это `git reset`, а второй - `git revert`. Попробуем оба на следующем шаге.", + "" + ] + } + }, + { + "type": "GitDemonstrationView", + "options": { + "beforeMarkdowns": [ + "## Git Reset", + "", + "`git reset` отменяет изменения, перенося ссылку на ветку назад, на более старый коммит. Это своего рода \"переписывание истории\"; `git reset` перенесёт ветку назад как будто некоторых коммитов вовсе и не было.", + "", + "Посмотрим, как это работает:" + ], + "afterMarkdowns": [ + "Неплохо! Git просто перенёс ссылку на master обратно на коммит `C1`. Теперь наш локальный репозиторий в состоянии, как будто `C2` никогда не было." + ], + "command": "git reset HEAD~1", + "beforeCommand": "git commit" + } + }, + { + "type": "GitDemonstrationView", + "options": { + "beforeMarkdowns": [ + "## Git Revert", + "", + "Reset отлично работае на локальных ветках, в локальных репозиториях. Но этот метод переписывания истории не срабоает на удалённых ветках, которые используют другие пользователи.", + "", + "Чтобы отменить изменения и поделиться отменёнными изменениями с остальными, надо использовать `git revert`. Посмотрим, как это работает" + ], + "afterMarkdowns": [ + "Забавно, появился новый коммит. Это потому что новый коммит `C2'` просто содержит изменения полностью противоположные тем, что сделаны в коммите `C2`.", + "", + "После revert можно сделать push и поделиться изменениями с остальными." + ], + "command": "git revert HEAD", + "beforeCommand": "git commit" + } + }, + { + "type": "ModalAlert", + "options": { + "markdowns": [ + "Чтобы пройти этот уровень, отмени два последних коммита и в `local` и в `pushed`", + "", + "Помни, что `pushed` - это remote ветка, а `local` - это локальная ветка -- это поможет выбрать способ отмены изменений." + ] + } + } + ] } } };