diff --git a/src/levels/remote/lockedMaster.js b/src/levels/remote/lockedMaster.js index 419992a4..d0cdcdbb 100644 --- a/src/levels/remote/lockedMaster.js +++ b/src/levels/remote/lockedMaster.js @@ -3,10 +3,12 @@ exports.level = { "solutionCommand": "git reset --hard o/master;git checkout -b feature C2; git push origin feature", "startTree": "{\"branches\":{\"master\":{\"target\":\"C2\",\"id\":\"master\",\"remoteTrackingBranchID\":\"o/master\"},\"o/master\":{\"target\":\"C1\",\"id\":\"o/master\",\"remoteTrackingBranchID\":null}},\"commits\":{\"C0\":{\"parents\":[],\"id\":\"C0\",\"rootCommit\":true},\"C1\":{\"parents\":[\"C0\"],\"id\":\"C1\"},\"C2\":{\"parents\":[\"C1\"],\"id\":\"C2\"}},\"tags\":{},\"HEAD\":{\"target\":\"master\",\"id\":\"HEAD\"},\"originTree\":{\"branches\":{\"master\":{\"target\":\"C1\",\"id\":\"master\",\"remoteTrackingBranchID\":null}},\"commits\":{\"C0\":{\"parents\":[],\"id\":\"C0\",\"rootCommit\":true},\"C1\":{\"parents\":[\"C0\"],\"id\":\"C1\"}},\"tags\":{},\"HEAD\":{\"target\":\"master\",\"id\":\"HEAD\"}}}", "hint": { - "en_US": "Make the feature branch from the local master before resetting it back to be the same as origin's master" + "en_US": "Make the feature branch from the local master before resetting it back to be the same as origin's master", + "ru_RU": "Создайте новую feature ветвь от master перед тем, как откатить изменения в master до состояния o/master." }, "name": { - "en_US": "Locked Master" + "en_US": "Locked Master", + "ru_RU": "Заблокированная ветвь master" }, "startDialog": { "en_US": { @@ -48,6 +50,50 @@ exports.level = { } } ] + }, + "ru_RU": { + "childViews": [ + { + "type": "ModalAlert", + "options": { + "markdowns": [ + "## Remote Rejected!", + "", + "Когда вы работаете в составе большой команды разработчиков над проектом, то, вероятнее всего, ветвь `master` будет _заблокирована_. Для внесения изменений в неё в git существует понятие запроса на слияние `Pull Request`. В такой ситуации если вы закоммитите свои наработки непосредственно в `master` ветвь, а после выполните `git push`, то будет сгенерировано сообщение об ошибке:", + "", + "```", + " ! [remote rejected] master -> master (TF402455: Pushes to this branch are not permitted; you must use a pull request to update this branch.)", + "```", + "", + "```", + " ! [удалённо отклонено] master -> master (TF402455: Изменение этой ветви запрещены; вы можете использовать pull request для обновления этой ветви.)", + "```" + ] + } + }, + { + "type": "ModalAlert", + "options": { + "markdowns": [ + "## Почему произошло отклонение моих изменений?", + "", + "Удалённый репозиторий отклонил загруженные коммиты непосредственно в `master` ветку потому, что на `master` _настроена политика_, которая требует использование `Pull request` вместо обычного `git push`.", + "", + "Эта политика подразумевает процесс создания новой ветви разработки, внесение в неё всех необходимых коммитов, загрузка изменений в удалённый репозиторий и _открытие нового_ `Pull request`. Однако вы забыли про это и закоммитили наработки непосредственно в `master` ветвь. Теперь вы застряли и не можете запушить свои изменения :(. " + ] + } + }, + { + "type": "ModalAlert", + "options": { + "markdowns": [ + "## Решение:", + "", + "Создайте ещё одну ветвь под названием `feature` и отправьте изменения на удалённый репозиторий. Так же не забудьте вернуть вашу локальную `master` ветвь в исходное состояние (чтобы она была синхронизирована с удалённой). В противном случае у вас могут возникнуть проблемы при следующем выполнении `git pull`." + ] + } + } + ] } } };