Простая шпаргалка по Git для контрибуторов open source

0
1153
views

Перевод статьи «A simple Git guide and cheat sheet for open source contributors».

Как сделать пул-реквест в open source  проект

Если вы читаете эту статью, вам уже известны все преимущества участия в движении open source.

Люди, желающие поучаствовать в разработке программ с открытым исходным кодом, часто сталкиваются с одной проблемой: они не знают, как сделать первый шаг на пути от форка (fork) к пул-реквесту (pull request).

В этой статье мы рассмотрим нужную последовательность действий. Это должно не только облегчить для вас весь процесс, но и придать более профессиональный вид вашему вкладу. Это особенно важно, если вы хотите добавить вашу работу в open source в свое портфолио.

Для целей этой статьи мы будет предполагать, что вам, в принципе, уже известно, как принять участие в open source. Если нет, возможно, вы захотите вначале прочесть эту статью.

Также мы предполагаем, что на вашем компьютере уже настроен Git. Если нет, лучше сначала заняться именно этим. Инструкции можно найти здесь.

Шаг 1: сделайте форк (ответвление) проекта

Перейдите в репозиторий проекта, в котором вы хотите что-то доработать, и кликните кнопку fork в верхнем правом углу, как показано на картинке.

Форк проекта

Теперь в вашем аккаунте на GitHub есть этот репозиторий.

Шаг 2: клонируйте проект на свою машину

Это самая простая часть Git. Перейдите в свой форк репозитория (который теперь находится в ваших репозиториях GitHub). Выполните шаги 1 и 2, показанные на картинке, чтобы скопировать адрес вашего репозитория.

Делаем клон проекта

Он выглядит примерно так:

https:github.com/suretrust.com/freeCodeCamp.git

Затем клонируйте проект на свою машину, введя в окне вашего терминала

git clone <скопированный-адрес>

т. е., например,

git clone https://github.com/suretrust/freeCodeCamp.git

Шаг 3: создание upstream

Вам нужно отслеживать разницу между вашим форком репозитория в вашем аккаунте и оригинальным репозиторием. Это особенно полезно, если вы хотите принять участи е в работе над каким-то популярным репозиторием. Некоторые репозитории делают слияние пул-реквестов каждый час или даже чаще, так что вам нужно следить за тем, чтобы ваш форк не отставал от оригинального репозитория. В этом вам поможет upstream.

Имейте в виду, что upstream это оригинальный репозиторий (в примере – репозиторий freeCodeCamp), а не ваш форк. Выполните шаги 1 и 2 на рисунке ниже, чтобы скопировать адрес upstream.

upstream

Для создания ссылки на оригинальный репозиторий введите в терминале следующую команду:

git remote add upstream <скопированный-адрес-upstream>

Можно выполнить команду

git pull upstream master

чтобы убедиться, не произошло ли каких-то изменений (с того момента как вы сделали форк и до настоящей минуты).

Шаг 4: создание ветки (branch), над которой вы хотите поработать

Создание branch
Photo by Zach Reiner / Unsplash

Когда вы хотите что-либо изменить в проекте, будет хорошей идеей создать для этих изменений отдельную ветку. Это будет демонстрировать, что ветка предназначена только для той работы, которую вы хотите сделать. Такой работой может быть и исправление опечатки, и реализация новой фичи. В любом случае, будет хорошим тоном создать новую ветку.

Также имеет значение нейминг. Будет любезно с вашей стороны использовать имя, которое легко сможет понять человек, ничего не знающий об этом репозитории. Например, если вы хотите добавить возможность логиниться в приложении, можно создать ветку под названием add-login-feature или login-feature.

Для создания ветки введите в терминале следующую команду:

git checkout -b <имя-вашей-ветки>

Будет создана ветка и осуществлен переход в нее. Для наглядности – пример с названием login-feature:

git checkout -b login-feature

После этого можно начинать вносить свои изменения в ветку (исправлять опечатку, писать код фичи и т. д.).

Шаг 5: Git add и commit изменений

Это тоже достаточно просто. Вам нужно подготовить ваши изменения и сделать коммит (запись изменений), введя следующие команды в терминале:

git add .
git commit -m 'Сообщение коммита'

Теперь ваши изменения подготовлены и записаны в ваш репозиторий. Что дальше?

Шаг 6: pull (получение данных) из upstream в вашу ветку

Этот шаг сольет (merge) любые изменения, произошедшие в upstream (оригинальном репозитории), с вашей веткой, чтобы избежать конфликтов.

git pull upstream <имя-ветки>

Шаг 7: push (помещение данных) в ветку, в которой вы работаете

Все почти готово. «Пушим» изменения в свою рабочую ветку:

git push origin <имя-ветки>

Шаг 8: открываем пул-реквест

Это финальный шаг, который делает контрибутор open source. На этом этапе вы будто говорите: «Я внес некоторые изменения, не будете ли вы так любезны добавить их в проект?»

Вы открываете пул-реквест, и если собственнику репозитория или людям, занимающимся его поддержкой, ваши изменения понравятся, они сольют их со своим проектом (merge). Также они могут внести какие-то изменения, а уж затем выполнить слияние, или запросить эти изменения.

Для открытия пул-реквеста перейдите в ваш форк репозитория, как показано ниже. Вы увидите последнюю ветку, в которую вы делали push («login-feature»). Кликните на «compare and pull request».

Открываем pull request

Четко поясните, что именно вы изменили, и открывайте пул-реквест, как показано ниже:

Описание к pull request

Вот и все. Вы готовы стать контрибутором проекта!

Шпаргалка с командами Git для контрибуторов open source

Шпаргалка с командами для контрибуторов

ОСТАВЬТЕ ОТВЕТ

Please enter your comment!
Please enter your name here