From aa9b1f6c7ca8d6ed4f176bcaea917ea41294410e Mon Sep 17 00:00:00 2001 From: Svetlana Date: Sat, 30 Jul 2022 17:06:18 +0300 Subject: [PATCH 1/2] Created new file --- created_pull_request.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 created_pull_request.md diff --git a/created_pull_request.md b/created_pull_request.md new file mode 100644 index 0000000..e69de29 From c49c1993f53b423c3ce29bac29ec8f53ccc086f7 Mon Sep 17 00:00:00 2001 From: Svetlana Date: Sat, 30 Jul 2022 17:08:30 +0300 Subject: [PATCH 2/2] =?UTF-8?q?=D0=A1=D0=BE=D0=B7=D0=B4=D0=B0=D0=BB=D0=B8?= =?UTF-8?q?=20=D0=B8=D0=BD=D1=81=D1=82=D1=80=D1=83=D0=BA=D1=86=D0=B8=D1=8E?= =?UTF-8?q?=20=D0=BF=D0=BE=20=D1=81=D0=BE=D0=B7=D0=B4=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D1=8E=20pull=20request?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- created_pull_request.md | 54 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/created_pull_request.md b/created_pull_request.md index e69de29..167642a 100644 --- a/created_pull_request.md +++ b/created_pull_request.md @@ -0,0 +1,54 @@ +# Инструкция по созданию pull request + +1. ## *Форкните проект.* + + Вы не можете отправлять коммиты (git push) напрямую в исходный репозиторий. По желанию хозяин проекта может это разрешить, но обычно доступ на запись есть только у людей, поддерживающих проект, а все остальные работают через Pull Request’ы («запросы на вливание изменений»; о них — ниже). + Поэтому мы форкаем проект — это создаст копию репозитория в вашем аккаунте. При этом у вас появится доступ на запись в вашу копию. + +2. ## *Склонируйте репозиторий* + + Затем нужно склонировать репозиторий на вашу локальную машину. Для этого нам нужен URL репозитория. Нажав на кнопку справа, вы скопируете его в буфер обмена. Обратите внимание на выбранный слева протокол. Если вы не настраивали SSH для GitHub, там должно быть указано HTTPS. + git clone <вставляем_URL> + +3. ## *Создайте ветку для своей работы.* + + Ветка по умолчанию — master. Чтобы изменениями было проще управлять и они не смешивались друг с другом, создадим отдельную ветку, где и будем работать. При этом ветку стоит назвать так, чтобы имя говорило о её назначении. + Теперь заходим в наш склонированный репозиторий и создаём ветку: + git checkout -b fix-protobaz + +4. ## *Сделайте необходимые изменения в файлах — коде, документации, тестах. Закоммитьте их в только что созданную ветку. + + Теперь приступаем к работе. Редактируем код, обновляем документацию, чиним тесты, дополняем README. + Эти изменения мы коммитим в нашу ветку. Как это сделать — ниже. + При этом старайтесь делать коммиты часто, а сами коммиты — небольшими по объёму. Каждый коммит должен делать ровно одну вещь, и при этом поддерживать работоспособность проекта. Стремиться нужно к тому, чтобы в будущем можно было перейти на любой коммит и получить рабочий проект. + Если у вас сразу не получается придерживаться такой дисциплины, или изменения затрагивают весь проект «насквозь», допустимо ломать проект и постепенно чинить его в следующих коммитах. + Если вы уже достаточно разбираетесь в Git, такие не-атомарные изменения потом нужно объединить в один коммит с помощью interactive rebase и squash. + Итак, после редактирования файлов мы имеем следующую ситуацию (это вывод git status): + В выводе есть все необходимые вам команды: + + git add ... добавляет файл в содержимое коммита, который вы собираетесь записать + git checkout -- ... откатывает ваши изменения файла + Поэтому делаем git add src/protobaz.rs, а затем git commit. Откроется редактор, в котором нужно ввести сообщение коммита. + + Сообщение коммита — это описание того, что вы сделали. Его читают другие участники проекта и рецензент. Поэтому оно должно быть осмысленным и читаемым. + git log --oneline выводит историю в формате «1 коммит — 1 строка на экране». При этом он использует в качестве описания коммита первую строку — краткое описание. Поэтому оно обязательно должно быть отделено пустой строкой от остального описания — иначе однострочный вывод разъедется. + + Язык сообщения о коммите должен соответствовать принятому языку проекта. Поскольку наши проекты нацелены на русскоязычную аудиторию и разработчики говорят по-русски, сообщения коммитов также должны быть на русском. + + Когда вы ввели сообщение коммита в редакторе, сохранили файл и закрыли его, можно выполнить git log и убедиться, что коммит записан в историю. + +5. ## *Убедитесь, что проект работает после ваших изменений.* + + Когда вы сделали правки, стоит их проверить — если только это не что-то абсолютно тривиальное. + Для этого нужно собрать проект и запустить тесты, если они есть. В любом случае стоит проверить работу кода, который вы написали или изменили, запустив программу или вызвав библиотеку. + Если проект — это статически генерируемый сайт, то сгенерируйте его локально и убедитесь, что ничего не отвалилось и вёрстка не разъехалась. Если книга — то же самое. Смотрите по крайней мере на те места, которые вы правили. + +6. ## *Сделайте Pull Request.* + + Когда работа и проверка закончены, пора создавать Pull Request. Pull Request — это запрос на вливание изменений из вашей ветки в основную ветку исходного репозитория. Таким образом они попадут к хозяевам проекта. + Чтобы создать Pull Request, зайдём на страницу вашего форка. Справа от выпадающего меню с выбором ветки есть кнопка «New pull request». + +7. ## *Обсудите его с рецензентом в процессе Code Review. При необходимости, внесите изменения в свой Pull Request.* + + +8. ## *Когда все довольны, Pull Request принимают — с этого момента ваши изменения попали в исходный репозиторий (upstream) и являются частью проекта.*