From dd3e5ec1e27f9fc475d41f6aeebdd5f565d813d4 Mon Sep 17 00:00:00 2001 From: Zhukov Roman Date: Fri, 26 Jan 2018 18:05:14 +0300 Subject: [PATCH] Update russian translation of Git Workflow [ci skip] (#15564) --- docs/internals-ru/git-workflow.md | 87 ++++++++++++++++++++++----------------- 1 file changed, 50 insertions(+), 37 deletions(-) diff --git a/docs/internals-ru/git-workflow.md b/docs/internals-ru/git-workflow.md index 123dc98..a226549 100644 --- a/docs/internals-ru/git-workflow.md +++ b/docs/internals-ru/git-workflow.md @@ -1,29 +1,29 @@ Рабочий процесс Git для разработчиков Yii 2 =========================================== -Итак, вы хотите разрабатывать Yii? Хорошо! Но для того чтоб увеличить шанс принятия ваших изменений, -пожалуйста следуйте следующим шагам. Если вы новичок в git и github, вы можете сначала проверить -[github help](http://help.github.com/), [try git](https://try.github.com) или прочитать о +Итак, вы хотите разрабатывать Yii? Хорошо! Но для того, чтобы увеличить шанс принятия ваших изменений, +пожалуйста, следуйте следующим шагам. Если вы новичок в git и Github, вы можете сначала проверить +[Github help](http://help.github.com/), [try git](https://try.github.com) или прочитать о [внутренней модели данных git](http://nfarina.com/post/9868516270/git-is-simpler). Подготовка вашего рабочего окружения ------------------------------------ -Следующие шаги будут создавать рабочее окружение для Yii, которое вы можете использовать для работы над основным кодом +Следующие шаги создадут рабочее окружение для Yii, которое вы можете использовать для работы над основным кодом фреймворка. *Эти шаги будут нужны только в первый раз*. -### 1. [Форкаем](http://help.github.com/fork-a-repo/) репозиторий Yii на github и клонируйте ваш форк в ваше рабочее окружение. +### 1. [Сделайте форк](http://help.github.com/fork-a-repo/) репозитория Yii на Github и клонируйте этот форк в ваше рабочее окружение. ``` git clone git@github.com:YOUR-GITHUB-USERNAME/yii2.git ``` -Если у вас есть проблемы с настройкой GIT для работы с GitHub в Linux, или вы получаете ошибку похожую на "Permission Denied -(publickey)", тогда вы должны настроить ваш GIT по [этой инструкции](http://help.github.com/linux-set-up-git/) +Если у вас есть проблемы с настройкой Git для работы с GitHub в Linux, или вы получаете ошибку похожую на "Permission Denied +(publickey)", тогда вы должны настроить ваш Git по [этой инструкции](http://help.github.com/linux-set-up-git/) -### 2. Добавляем главный репозиторий Yii как дополнительный внешний git репозиторий называемый "upstream" +### 2. Добавьте главный репозиторий Yii как дополнительный внешний git репозиторий называемый "upstream" -Перейдите в каталог, куда вы склонировали Yii, как правило "yii2". Затем введите следующую команду: +Перейдите в каталог куда вы склонировали Yii, как правило "yii2". Затем введите следующую команду: ``` git remote add upstream git://github.com/yiisoft/yii2.git @@ -33,11 +33,20 @@ git remote add upstream git://github.com/yiisoft/yii2.git Следующие шаги не обязательны, если вы хотите работать только с переводом или документацией. -- выполните `composer update` для установки зависимостей (если [composer у вас установлен глобально](https://getcomposer.org/doc/00-intro.md#globally)). +- выполните `composer install` для установки зависимостей + (если [composer у вас установлен глобально](https://getcomposer.org/doc/00-intro.md#globally)). -> Note: Если вы видите такие ошибки, как `Problem 1 The requested package bower-asset/jquery could not be found in +> Note: если вы видите такие ошибки, как `Problem 1 The requested package bower-asset/jquery could not be found in > any version, there may be a typo in the package name.`, необходимо запустить `composer global require "fxp/composer-asset-plugin:^1.4.1"` +Если вы планируете работать с Javascript: + +- выполните `npm install` для установки зависимостей и программ тестирования Javascript + (если [Node.js and NPM установлен](https://nodejs.org/en/download/package-manager/)). + +> Note: тесты JavaScript зависят от библиотеки jsdom, которой требуется Node.js 4 или более новый. +> Предпочтительнее использовать Node.js 6 or 7. + - выполните `php build/build dev/app basic` для клонирования базового приложения и установки его зависимостей. Эта команда установит сторонние пакеты composer обычным образом, но создаст ссылку с репозитория yii2 на только что загруженный репозиторий. Таким образом у вас будет только один экземпляр кода. @@ -56,13 +65,16 @@ git remote add upstream git://github.com/yiisoft/yii2.git ### Модульные тесты Вы можете выполнить модульные тесты с помощью команды `phpunit` в корневой директории приложения. Если у вас phpunit -не установлен глобально, вы можете запустить `php vendor/bin/phpunit`. +не установлен глобально, вы можете запустить `php vendor/bin/phpunit` или `vendor/bin/phpunit.bat` в случае +использования OS Windows. Некоторые тесты требуют дополнительно установки и настройки баз данных. Вы можете создать `tests/data/config.local.php` для переопределения настроек, которые определены в `tests/data/config.php`. -Вы можете ограничить тестирование группой тестов, с которой вы сейчас работаете, например запускать только тесты для -валидаторов и redis. Вы можете получить список доступных групп выполнив `phpunit --list-groups`. +Вы можете ограничить тестирование группой тестов, с которой вы сейчас работаете. Например, запускать только тесты для +валидаторов и redis: `phpunit --group=validators,redis`. Вы можете получить список доступных групп выполнив `phpunit --list-groups`. + +Вы можете запустить модульные тесты JavaScript с помощью команды `npm test` в корневой директории приложения. ### Расширения @@ -70,15 +82,16 @@ git remote add upstream git://github.com/yiisoft/yii2.git сделать это: ``` -php build/build dev/ext +php build/build dev/ext ``` -где `` это имя расширения, например `redis`. +где `` это имя расширения, например `redis` и `` это URL вашего форка расширения, например +`git@github.com:my_nickname/yii2-redis.git`. Если вы контрибьютор ядра фреймворка, вы можете не указывать ``. Если вы хотите протестировать расширение в одном из шаблонов приложений, просто добавьте его в `composer.json` приложения, например добавив `"yiisoft/yii2-redis": "~2.0.0"` в секцию `require` базового приложения. Запустите `php build/build dev/app basic` для установки расширения и его зависимостей и создания символической -ссылки на `extensions/redis` так чтоб вы работали не папке вендорных пакетов composer, а напрямую в репозиторий yii2. +ссылки на `extensions/redis` так чтоб вы работали не папке вендорных пакетов composer, а напрямую в репозитории yii2. > Note: по умолчанию URL репозиториев git на GitHub работают через SSH. Чтобы использовать HTTPS, добавьте > флаг `--useHttp` к команде `build`. @@ -94,21 +107,21 @@ php build/build dev/ext Потратьте несколько минут на поиск существующей issue, которая соответствует вашим изменениям. Если вы найдёте её в списке, то пожалуйста оставьте комментарий, что вы начали над ней работать. Если вы не нашли нужной issue пожалуйста [создайте новую issue](report-an-issue.md) или создайте сразу запрос на изменения если это простые изменения. -Это позволит команде проверить ваше предложение, и обеспечивать соответствующую обратную связь. +Это позволит команде проверить ваше предложение, и обеспечить соответствующую обратную связь. > Для небольших изменений или документации, или простых исправлений, вам нет необходимости создавать issue, запрос на изменения в этом случае подходит лучше. -### 2. Вытягивание последнего кода из основного репозитория Yii +### 2. Получите последний код из основного репозитория Yii ``` -git fetch upstream +git pull upstream ``` -Вы должны начинать с этого действия работу над каждым новым предложением, убеждайтесь что вы работаете над самой +Вы должны начинать с этого действия работу над каждым новым предложением. Убедитесь, что вы работаете с самой последней версией кода. -### 3. Создание новой ветки для ваших изменений, основанных на текущем мастере Yii +### 3. Сделайте новую ветку для ваших изменений, основанных на текущей ветке master в Yii > Это очень важно, так как вы не сможете отправлять более одного запроса на изменения из вашего репозитория, если будете использовать ветку master. @@ -123,7 +136,7 @@ git checkout upstream/master git checkout -b 999-name-of-your-branch-goes-here ``` -### 4. Делайте свою магию, пишите ваш код +### 4. Делайте свою магию, пишите свой код Убедитесь, что он работает :) @@ -145,7 +158,7 @@ Enh #999: a description of the enhancement (Your Name) Для очень маленьких исправлений, например опечаток и изменений документации, нет необходимости обновлять CHANGELOG. -### 6. Фиксация ваших изменений +### 6. Зафиксируйте изменения Добавляем файлы/изменения которые вы хотите зафиксировать в [staging area](http://gitref.org/basic/#add) @@ -155,14 +168,14 @@ git add path/to/my/file.php Вы можете использовать опцию `-p` для того, чтоб выбрать, какие изменения вы хотите добавить в коммит. -Фиксируйте ваши изменения с описательным сообщением. Убедитесь что в сообщение есть номер `#XXX`, так github -автоматически свяжет ваш коммит с тикетом: +Фиксируйте ваши изменения с описательным сообщением. Убедитесь, что в сообщении есть номер `#XXX`, так Github +автоматически свяжет ваш коммит с issue: ``` git commit -m "A brief description of this change which fixes #999 goes here" ``` -### 7. Получение последнего кода из апстрима Yii в вашу ветку +### 7. Получите последний код из upstream Yii в вашу ветку ``` git pull upstream master @@ -172,18 +185,18 @@ git pull upstream master какие-либо конфликты слияния, вы должны исправить их и зафиксировать изменения ещё раз. Это гарантирует, что команда Yii сможет слить ваши изменения одним кликом. -### 8. Разрешив зависимости, отправляем код на github +### 8. Разрешив зависимости, отправьте код на Github ``` git push -u origin 999-name-of-your-branch-goes-here ``` -Опция `-u` сохранит указание на ветку в github, чтобы при следующем выполнении `git push`, git знал, куда отправлять +Опция `-u` сохранит указание на ветку в Github, чтобы при следующем выполнении `git push`, git знал, куда отправлять изменения. Это полезно, если вы хотите позже отправлять ещё коммиты в этот запрос на слияние. -### 9. Открываем [запрос на слияние](http://help.github.com/send-pull-requests/) в *upstream*. +### 9. Откройте [запрос на слияние](http://help.github.com/send-pull-requests/) в *upstream*. -Перейдите в репозиторий на github и нажмите "Pull Request", выберите ветку справа и введите больше информации +Перейдите в репозиторий на Github и нажмите "Pull Request", выберите ветку справа и введите больше информации в поле комментариев. Чтобы связать запрос на изменение с issue, добавьте в комментарий `#999` - где 999 это номер issue. > Обратите внимание, что каждый запрос на слияние должен исправлять единственное изменение. Для множества независимых @@ -191,10 +204,10 @@ git push -u origin 999-name-of-your-branch-goes-here ### 10. Проверка вашего кода кем-то -Кто-то будет проверять ваш код, и, возможно, вам будет предложено внести некоторые изменения, если это так, то перейдите +Кто-то будет проверять ваш код, и, возможно, вам будет предложено внести некоторые изменения. Eсли это так, то перейдите к шагу #6 (вам не надо открывать новый запрос на слияние, если текущий ещё открыт). Если код будет принят, он будет -влит в основную ветку и станет частью следующего релиза Yii. Если нет, не унывайте, разным людям необходимы различные -функции и Yii не может реализовывать всё для всех, ваш код будет ещё доступен на github как ссылка для людей кому он +влит в основную ветку и станет частью следующего релиза Yii. Если нет - не унывайте, разным людям необходимы различные +функции и Yii не может реализовывать всё для всех, ваш код будет ещё доступен на Github как ссылка для людей кому он может пригодится. ### 11. Очистка @@ -210,16 +223,16 @@ git push origin --delete 999-name-of-your-branch-goes-here ### Примечание -Для обнаружения регрессии как можно раньше, каждое слияние кодовой базы Yii на github будет подхвачено +Для обнаружения регрессии как можно раньше, каждое слияние кодовой базы Yii на Github будет подхвачено [Travis CI](http://travis-ci.org) для автоматического запуска тестов. Люди из *core team* не хотят нагружать этот сервис, поэтому добавляют текст [`[ci skip]`](http://about.travis-ci.org/docs/user/how-to-skip-a-build/) в описание запроса на слияние, в следующих ситуациях: -* затронуты только javascript, css файлы или файлы изображений, +* затронуты только JavaScript, CSS файлы или файлы изображений, * обновление документации, * изменения затрагивают только строки (например обновление переводов). -Это защитит travis от запуска тестов на изменениях, которые не покрыты тестами. +Это защитит Travis CI от запуска тестов на изменениях, которые не покрыты тестами. ### Обзор команд (для продвинутых участников)