Как правильно делать pull request

Как сделать первый пул-реквест на GitHub

Перевод статьи «How to make your first pull request on GitHub».

Как правильно делать pull request. Смотреть фото Как правильно делать pull request. Смотреть картинку Как правильно делать pull request. Картинка про Как правильно делать pull request. Фото Как правильно делать pull request

Что такое форк?

Когда нам нравится чей-то репозиторий и мы хотели бы иметь его в собственном аккаунте на GitHub, мы делаем форк («вилку») этого репозитория, чтобы иметь возможность работать с ним отдельно.

Когда мы делаем форк репозитория, мы получаем экземпляр всего репозитория, со всей его историей. После форка мы можем делать с ним все, что угодно: оригинальная версия при этом не будет задета.

Что такое пул-реквест?

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

Например, пользователь Павел делает форк репозитория ThanoshanMV (автора статьи, — прим. перев.) и вносит изменения в свой экземпляр. После этого Павел отсылает пул-реквест ThanoshanMV, который может либо принять его, либо отклонить. По сути это что-то вроде письма «Не будете ли вы так любезны, уважаемый ThanoshanMV, внести мои изменения в свой оригинальный репозиторий?»

Как можно стать контрибьютором проекта?

Участие в проекте с открытым исходным кодом не обязательно предполагает работу именно с кодом. Контрибьютором (участником) можно стать и другими способами, некоторые из них описаны ниже.

Давайте создадим наш первый пул-реквест!

1. Форк репозитория

Чтобы сделать форк репозитория, нужно нажать кнопку «Fork» в верху страницы. Таким образом вы создадите экземпляр всего этого репозитория в своем аккаунте.

Как правильно делать pull request. Смотреть фото Как правильно делать pull request. Смотреть картинку Как правильно делать pull request. Картинка про Как правильно делать pull request. Фото Как правильно делать pull request

2. Клонирование репозитория

Когда репозиторий уже есть в вашем аккаунте, вы можете клонировать его на свою машину и в дальнейшем работать с ним локально.

Чтобы клонировать репозиторий, нажмите кнопку «clone» и скопируйте ссылку.

Как правильно делать pull request. Смотреть фото Как правильно делать pull request. Смотреть картинку Как правильно делать pull request. Картинка про Как правильно делать pull request. Фото Как правильно делать pull request

Откройте терминал и запустите следующую команду. С ее помощью репозиторий будет клонирован на вашу машину.

Как правильно делать pull request. Смотреть фото Как правильно делать pull request. Смотреть картинку Как правильно делать pull request. Картинка про Как правильно делать pull request. Фото Как правильно делать pull request

Теперь у вас есть копия ветки master основного онлайн-репозитория проекта.

Переходим в клонированную директорию:

Как правильно делать pull request. Смотреть фото Как правильно делать pull request. Смотреть картинку Как правильно делать pull request. Картинка про Как правильно делать pull request. Фото Как правильно делать pull request

3. Создание ветки

При работе с репозиторием хорошей практикой считается создание отдельной ветки для внесения изменений, причем это не зависит от размеров проекта.

Имя ветки должно быть коротким и отражать те изменения, которые вы вносите.

Создадим ветку при помощи команды git checkout:

Как правильно делать pull request. Смотреть фото Как правильно делать pull request. Смотреть картинку Как правильно делать pull request. Картинка про Как правильно делать pull request. Фото Как правильно делать pull request

4. Внесение изменений и коммит

Внесите необходимы изменения в проект и сохраните их. Затем запустите команду git status: вы увидите внесенные изменения.

Как правильно делать pull request. Смотреть фото Как правильно делать pull request. Смотреть картинку Как правильно делать pull request. Картинка про Как правильно делать pull request. Фото Как правильно делать pull request

Добавьте эти изменения в только что созданную ветку при помощи команды git add:

Как правильно делать pull request. Смотреть фото Как правильно делать pull request. Смотреть картинку Как правильно делать pull request. Картинка про Как правильно делать pull request. Фото Как правильно делать pull request

Теперь вы можете сделать коммит этих изменений при помощи команды git commit:

Как правильно делать pull request. Смотреть фото Как правильно делать pull request. Смотреть картинку Как правильно делать pull request. Картинка про Как правильно делать pull request. Фото Как правильно делать pull request

5. Отправка изменений на GitHub

Чтобы отправить изменения на GitHub (сделать push), нужно определить имя удаленного репозитория.

Как правильно делать pull request. Смотреть фото Как правильно делать pull request. Смотреть картинку Как правильно делать pull request. Картинка про Как правильно делать pull request. Фото Как правильно делать pull request

Имя данного удаленного репозитория — «origin».

После определения имени можно безопасно отправить изменения на GitHub.

Как правильно делать pull request. Смотреть фото Как правильно делать pull request. Смотреть картинку Как правильно делать pull request. Картинка про Как правильно делать pull request. Фото Как правильно делать pull request

6. Создание пул-реквеста

Перейдите в свой репозиторий на GitHub. Там есть кнопка «Compare & pull request» — кликните ее.

Как правильно делать pull request. Смотреть фото Как правильно делать pull request. Смотреть картинку Как правильно делать pull request. Картинка про Как правильно делать pull request. Фото Как правильно делать pull request

Введите необходимые детали относительно того, что именно вы сделали (чтобы поставить ссылку на issues, возмользуйтесь знаком «решетки»). После этого можно нажать кнопку подтверждения внизу.

Как правильно делать pull request. Смотреть фото Как правильно делать pull request. Смотреть картинку Как правильно делать pull request. Картинка про Как правильно делать pull request. Фото Как правильно делать pull request

Поздравляю! Вы создали свой первый пул-реквест. Если его примут, вы получите уведомление по электронной почте.

7. Синхронизация вашего форка с основной веткой

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

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

Проделайте следующие действия, чтобы обновить свой репозиторий и внести соответствующие изменения в свою ветку master:

1. Для начала, проверьте, в какой ветке вы находитесь.

Вы получите список всех веток, причем активная будет подсвечена зеленым.

Как правильно делать pull request. Смотреть фото Как правильно делать pull request. Смотреть картинку Как правильно делать pull request. Картинка про Как правильно делать pull request. Фото Как правильно делать pull request

2. Переключитесь в ветку master.

Как правильно делать pull request. Смотреть фото Как правильно делать pull request. Смотреть картинку Как правильно делать pull request. Картинка про Как правильно делать pull request. Фото Как правильно делать pull request

3. Добавьте оригинальный репозиторий в качестве upstream-репозитория.

Чтобы вытащить изменения из оригинального репозитория и перенести их в свою версию, нужно добавить оригинальный git-репозиторий в качестве upstream-репозитория.

Здесь [HTTPS] это url, который нужно скопировать из основного репозитория.

Как правильно делать pull request. Смотреть фото Как правильно делать pull request. Смотреть картинку Как правильно делать pull request. Картинка про Как правильно делать pull request. Фото Как правильно делать pull request

Как правильно делать pull request. Смотреть фото Как правильно делать pull request. Смотреть картинку Как правильно делать pull request. Картинка про Как правильно делать pull request. Фото Как правильно делать pull request

4. Fetch репозитория

Заберите (fetch) все изменения из оригинального репозитория. Коммиты, сделанные в оригинальном репозитории, будут сохранены в локальной ветке под названием upstream/master.

Как правильно делать pull request. Смотреть фото Как правильно делать pull request. Смотреть картинку Как правильно делать pull request. Картинка про Как правильно делать pull request. Фото Как правильно делать pull request

5. Слейте изменения

Слейте (merge) изменения из upstream/master с вашей локальной веткой master. Таким образом главная ветка вашего форка репозитория синхронизируется с upstream-репозиторием без потери ваших локальных изменений.

6. Отправьте изменения на GitHub

На этом этапе ваша локальная ветка синхронизирована с веткой master оригинального репозитория. Если вы хотите обновить свой GitHub-репозиторий, нужно отправить в него изменения.

Примечание. После синхронизации ветки master вашего форка вы можете при желании удалить remote. Но в будущем вам еще придется обновлять/синхронизировать ваш репозиторий, поэтому лучше его сохранить.

Как правильно делать pull request. Смотреть фото Как правильно делать pull request. Смотреть картинку Как правильно делать pull request. Картинка про Как правильно делать pull request. Фото Как правильно делать pull request

8. Удаление ненужной ветки

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

Как правильно делать pull request. Смотреть фото Как правильно делать pull request. Смотреть картинку Как правильно делать pull request. Картинка про Как правильно делать pull request. Фото Как правильно делать pull request

Вы можете удалить и версию этой ветки на GitHub.

Как правильно делать pull request. Смотреть фото Как правильно делать pull request. Смотреть картинку Как правильно делать pull request. Картинка про Как правильно делать pull request. Фото Как правильно делать pull request

Итоги

GitHub это мощный инструмент для контроля истории версий. Каждый может стать контрибьютором проекта с открытым исходным кодом. Делается это путем отправки пул-реквестов.

Чтобы стать контрибьютором, не обязательно писать код: есть и другие способы принять участие в проекте.

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

Источник

Pull request’ы на GitHub или Как мне внести изменения в чужой проект

По просьбе tulskiy делаю вольный перевод частей официальной документации GitHub’а Fork A Repo и Send pull requests.

Итак, что же такое «запрос на включение (сделанных вами изменений)» (именно так я перевёл pull request)? В официальной документации гитхаба говорится следующее:

Pull request’ы позволяют вам рассказать другим о тех изменениях, которые вы разместили в своём GitHub-репозитории. Как только pull request отправлен, заинтересованные стороны рассматривают ваши изменения, обсуждают возможные правки или даже добавляют дополняющие коммиты, если нужно.

Немного о моделях совместной разработки

Делаем копию репозитория

Рассматривая первую модель разработки, необходимо иметь свою копию изначального репозитория, в которой и будет вестись работа, и изменения из которой и будут предлагаться затем автору изначального репозитория.

В рамках руководства, будем считать, что мы работаем над репозиторием Spoon-Knife пользователя octocat, а ваше имя пользователя — username.

Сделать это очень просто: на странице репозитория имеется кнопочка «Fork», которую и следует нажать.
Как правильно делать pull request. Смотреть фото Как правильно делать pull request. Смотреть картинку Как правильно делать pull request. Картинка про Как правильно делать pull request. Фото Как правильно делать pull request

После чего, эту свою копию уже можно «стянуть» на свой компьютер:

Склонированный репозиторий имеет одну привязку к удалённому репозиторию, названную origin, которая указывает на вашу копию на GitHub, а не на оригинальный репозиторий, чтобы отслеживать изменения и в нём, вам нужно будет добавить другую привязку, названную, например, upstream.

Делаем работу

Итак, в этой точке мы уже можем править код и делать коммиты. Если вы сделали все предыдущие шаги, чтобы потом вернуть ваши изменения в оригинальный репозиторий, то я настоятельно советую делать всю работу в отдельной тематической ветви разработки. Полезность этого станет ясна на этапе посылки pull request’а. Пускай она будет называться feature.

Вот, теперь творите добро (и пусть оно будет выражаться в коммитах).

Как только вы сделали работу (или её часть), отправьте её в свою копию репозитория на GitHub:

Возвращаем изменения: Pull request

Итак, всё сделано. Вы написали код, он у вас в ветви feature как у вас на компьютере, так и на GitHub’е. Осталось только «заслать» его в оригинальный репозиторий.

Идите на страницу вашей копии репозитория на GitHub, выбирайте ветвь feature и жмите кнопку Pull Request.
Как правильно делать pull request. Смотреть фото Как правильно делать pull request. Смотреть картинку Как правильно делать pull request. Картинка про Как правильно делать pull request. Фото Как правильно делать pull request

Далее вы попадёте на предпросмотровую страницу, на которой сможете ввести название и описание ваших изменений (название потом попадёт в описание мёрдж-коммита и станет достоянием общественности, учтите это).
Как правильно делать pull request. Смотреть фото Как правильно делать pull request. Смотреть картинку Как правильно делать pull request. Картинка про Как правильно делать pull request. Фото Как правильно делать pull request

Там же вы можете посмотреть, какие коммиты попали в пулл реквест:
Как правильно делать pull request. Смотреть фото Как правильно делать pull request. Смотреть картинку Как правильно делать pull request. Картинка про Как правильно делать pull request. Фото Как правильно делать pull request

А так же общий diff всех изменений в пулл реквесте:
Как правильно делать pull request. Смотреть фото Как правильно делать pull request. Смотреть картинку Как правильно делать pull request. Картинка про Как правильно делать pull request. Фото Как правильно делать pull request

По умолчанию, пулл реквесты считаются основанными на самой часто интегрируемой ветви родительского репозитория. В этом случае username/Spoon-Knife был скопирован с octocat/Spoon-Knife, так что pull request считается основанным на ветке master репозитория octocat/Spoon-Knife. В большинстве случаев, это будет корректно, но если не так, то вы можете нажать на кнопку «Change Commits»

Вы попадёте в форму выбора базовой и исходной ветвей:
Как правильно делать pull request. Смотреть фото Как правильно делать pull request. Смотреть картинку Как правильно делать pull request. Картинка про Как правильно делать pull request. Фото Как правильно делать pull request

Слева выбираете в какую ветку будут вливаться изменения в родительском репозитории, справа — какие изменения будут браться с вашего репозитория. По примеру: справа octocat/Spoon-Knife/master, слева username/Spoon-Knife/feature. Здесь вы можете указывать не только ветки, но так же теги и id отдельных коммитов в соответствующем репозитории.
ВАЖНО: Договоритесь с владельцем «родительского» репозитория, в какую ветку будете вливать изменения (он может написать это в README)

Изменение базового репозитория меняет и список людей, кто получит уведомление о пулл реквесте. Каждый, кто имеет право «на запись» в базовый репозиторий, получит письмо и увидит уведомление на главной GitHub’а, в следующий раз, как на него зайдёт.
Как только список коммитов вас удовлетворит, нажмите кнопку Update Commit Range.

Когда вы ввели название и описание и перепроверили список коммитов и изменения в файлы, попавшие в пулл реквест, нажмите кнопку Send pull request. Пулл реквест будет создан незамедлительно.

Что дальше?

Следите за вашим пулл-реквестом. Что прокомментируют люди, что скажет мэйнтэйнер, примет или нет ваш пулл реквест.

Когда ваш pull request примут, не забудьте слить изменения в свой репозиторий (или удалить его, если больше не нужен):

Так же можно удалить ветку, в которой велась разработка:

Что следует делать, если работа заняла большое время и оригинальный репозиторий успел уйти вперёд?

Можно просто влить изменения из оригинального репозитория к себе:

Однако хозяину оригинального репозитория или, может быть, даже вам, не понравится наличие мёрж-коммитов и коммитов из master’а в списке коммитов на пулл. В таком случае вам стоит воспользоваться git rebase.

Прочитать про то, как работает rebase можно в официальном руководстве. Там имеются и очень понятные иллюстрации. Так же есть статья в помощи GitHub.
ВНИМАНИЕ: Пожалуйста, учтите, что git rebase меняет id коммитов! Поэтому, все действия с этой командой стоит выполнять только на локальном репозитории, до того, как эти коммиты станут общедоступны, т.е. до того, как вы их push’нули на гитхаб.

Если вы хозяин: Как принять pull request

Если пулл реквест удовлетворяет всем условиям, то кто-либо с правом «на запись» (т.е. может сделать push) в целевой репозиторий, должен принять pull request одним из многих методов. Ниже описаны три наиболее популярных метода:

Auto Merge (автослияние)

Во многих случаях можно попросить github автоматически принять пулл реквест, используя большую зелёную кнопку Merge Pull Request, которая сама вольёт изменения, создаст мёрж-коммит и закроет пулл реквест.
Как правильно делать pull request. Смотреть фото Как правильно делать pull request. Смотреть картинку Как правильно делать pull request. Картинка про Как правильно делать pull request. Фото Как правильно делать pull request
Подробнее можно почитать в этом хабратопике: Кнопка слияния на GitHub.

Fetch and Merge (скачать и слить)

Основной метод вливания изменений. Он требует добавления remote, ведущего к репозиторию человека, отправившего pull request, скачивания изменений с этого репозитория, объединения нужной ветви, исправления конфликтов и выгрузки обновлённой ветви обратно в исходный репозиторий:

Patch and Apply (пропатчить и принять)

Предыдущий метод работает хорошо, когда вы работаете в команде или постоянно принимаете изменения от одной и той же группы людей. Другой метод немного быстрее в единичных случаях при использовании git-am.

Закрытие пулл реквеста

Запросы на пулл автоматически закрываются, когда запрошенные коммиты вливаются в репозиторий назначения. При этом генерируется событие, информирующее всех участников разработки, что пулл реквест был принят и влит в основную ветвь.
Как правильно делать pull request. Смотреть фото Как правильно делать pull request. Смотреть картинку Как правильно делать pull request. Картинка про Как правильно делать pull request. Фото Как правильно делать pull request
Так же возможно вручную закрыть пулл реквест в случае, если он был отклонён. Иногда это необходимо в случаях, когда изменения были приняты с помощью git-cherry-pick или другого механизма, который не позволяет обнаружить факт слияния (merge).

Источник

Как сделать свой первый Pull Request

07 Марта 2016 • Михаил Панков • руководства • поддержите на Patreon

Предполагается знание основ системы контроля версий Git. Если вы ещё не работали с Git, мы дадим ссылки на официальную русскоязычную документацию по необходимым командам.

Вам также потребуется аккаунт на GitHub. Регистрация бесплатная и требует указания лишь имени пользователя и электронной почты.

Вот процесс с высоты птичьего полёта.

Работа над задачей закончена!

Теперь рассмотрим каждый этап подробнее.

Форкаем проект

Поэтому мы форкаем проект — это создаст копию репозитория в вашем аккаунте. При этом у вас появится доступ на запись в вашу копию.

Как правильно делать pull request. Смотреть фото Как правильно делать pull request. Смотреть картинку Как правильно делать pull request. Картинка про Как правильно делать pull request. Фото Как правильно делать pull request

Через мгновение вы будете перенаправлены на страницу вашего форка.

Клонируем репозиторий

Как правильно делать pull request. Смотреть фото Как правильно делать pull request. Смотреть картинку Как правильно делать pull request. Картинка про Как правильно делать pull request. Фото Как правильно делать pull request

Затем выполняем команду в терминале ( или командной строке Windows):

Создаём ветку

Теперь заходим в наш склонированный репозиторий и создаём ветку:

Вторая команда создаст ветку и перейдёт на неё ( сделает checkout).

Делаем изменения

Эти изменения мы коммитим в нашу ветку. Как это сделать — ниже.

Если вы уже достаточно разбираетесь в Git, такие не-атомарные изменения потом нужно объединить в один коммит с помощью interactive rebase и squash.

В выводе есть все необходимые вам команды:

Формат сообщения о коммите таков:

В наших проектах нужно использовать Fix #123 или Close #123 на последней строке сообщения коммита.

Проверяем изменения

Создаём Pull Request

Чтобы создать Pull Request, зайдём на страницу вашего форка. Справа от выпадающего меню с выбором ветки есть кнопка « New pull request».

Как правильно делать pull request. Смотреть фото Как правильно делать pull request. Смотреть картинку Как правильно делать pull request. Картинка про Как правильно делать pull request. Фото Как правильно делать pull request

Вы попадаете в окно сравнения веток.

Как правильно делать pull request. Смотреть фото Как правильно делать pull request. Смотреть картинку Как правильно делать pull request. Картинка про Как правильно делать pull request. Фото Как правильно делать pull request

После нажатия кнопки появится окно ввода сообщения Pull Request.

Как правильно делать pull request. Смотреть фото Как правильно делать pull request. Смотреть картинку Как правильно делать pull request. Картинка про Как правильно делать pull request. Фото Как правильно делать pull request

Участвуем в Code Review

Если кто-то ведёт себя неадекватно — не медлите. Сначала сообщите об этом собеседнику и призовите его к благоразумию. Если не сработало — смело обращайтесь к рецензенту или к автору данного текста ( Панкову Михаилу — @mkpankov). Это можно сделать в нашем чате.

Пожелание относительно процесса рецензирования — постарайтесь не сильно затягивать с ответами на комментарии или изменением указанных вещей.

Поздравляем! Теперь вы полноправный участник проекта.

Завершение работы

А теперь можно удалить нашу ветку fix-protobaz локально:

Источник

5 шагов к созданию крутого пул-реквеста

Как правильно делать pull request. Смотреть фото Как правильно делать pull request. Смотреть картинку Как правильно делать pull request. Картинка про Как правильно делать pull request. Фото Как правильно делать pull request

Jan 24, 2020 · 5 min read

Как правильно делать pull request. Смотреть фото Как правильно делать pull request. Смотреть картинку Как правильно делать pull request. Картинка про Как правильно делать pull request. Фото Как правильно делать pull request

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

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

1. Ветвление

Ветвление означает, что вы отклоняетесь от основной линии разработки и продолжаете работу, не связываясь с ней.

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

Новая ветка должна быть создана из последнего кода ее восходящей ветки. Иначе говоря, HEAD коммит локальной ветки должен совпадать с HEAD коммитом восходящей.

Это поможет сделат ь историю коммитов более ясной в будущем пул-реквесте. Ветвление с помощью команд Git можно сделать следующим образом:

На основе номера тикета или проблемы

Предположим, что вы работаете над Jira тикетом VAJ-96 об устранении бага на главном экране. В этом случае вы можете назвать ветку так:

Этот принцип подойдет и для тикетов, требующих создания нескольких веток:

Имена по типу ветки

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

Если вы пользуетесь терминалом, то одним из преимуществ станет функция автодополнения. В случае с SourceTree она выглядит так:

Источник

Как сделать pull request

Pull Request — запрос на включение. На включение написанного вами кода в чужой репозиторий.

С чего начать?

А для начала этот самый репозиторий нужно форкнуть (fork — вилка, ответвление). Разберём это нехитрое действо на примере веб-сервиса для хостинга IT-проектов, название которому GitHub. Разумеется, кроме GitHub есть и другие: BitBucket, например. Выбирать по вкусу.

Для успешного проведения нижеизложенных операций у вас (что естественно) должен быть установлен git

Как правильно делать pull request. Смотреть фото Как правильно делать pull request. Смотреть картинку Как правильно делать pull request. Картинка про Как правильно делать pull request. Фото Как правильно делать pull request

В консоли в зависимости от входных данных набираем нечто подобное:

Отлично. Уже можно вносить свои изменения в код проекта.

Тот репозиторий, что теперь лежит на вашем жёстком диске, независим от основного. В нём отслеживаются только ваши наработки. Но как следить за изменениями, происходящими в первоисточнике, откуда вы « стянули » репозиторий? Добавить удаленный репозиторий в отслеживаемые. Например, так:

Давайте посмотрим как сливать изменения из оригинального репозитория к себе в случае, если разработка в нём ушла вперёд пока вы сосредоточенно писали коммиты:

Если репозиторий огромен, а забирать его весь не хочется, клонируем только нужную ветку:

Что такое ветки?

Чаще всего ветки (branch — ответвление, ветвь, филиал) бывают тематическими. Например, при общей разработке, когда у всех участников есть право записи в репозиторий. В этом случае ветки используются для отделения изменений, сделанных одним из разработчиков, от общего репозитория. Ветки могут пригодиться и в случае с созданием pull-request’а.

Создание ветки происходит довольно просто. Находясь в каталоге с проектом, наберите следующие команды:

Новые ветки создаются не только из master, берите любую!

Находясь в только что созданной ветке, вы можете приступить к работе. Вносите в код свои изменения, а когда закончите просто переключитесь обратно к своей основной ветке. Вы можете отправить pull request, выбрав ветку new_branch или же прежде слить изменения из неё в основную ветку разработки. Рассмотрим это подробнее:

Если нужно отправить в свой удалённый репозиторий вновь созданную ветку (не сливать её с master), делаем следующее:

Не торопитесь сливать изменения. Если что-то не заладилось, созданную ветку можно удалить:

Удалить все локальные ветки, которые были смержены (то есть код которых теперь есть) в ветках develop или master:

Отправляем изменения

Добрались таки до ответа на поставленный вопрос: что такое pull request, зачем оно нужно и как его достичь. Как предложить владельцу репозитория свои изменения?

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

Как правильно делать pull request. Смотреть фото Как правильно делать pull request. Смотреть картинку Как правильно делать pull request. Картинка про Как правильно делать pull request. Фото Как правильно делать pull request

А дальше. ждать. Пока придёт владелец оригинального репозитория и примет/отклонит ваши изменения.

Ну вот, мы его достигли. Просветления то есть 🙂

Как отменить изменения

Когда нужно вернуть более старое состояние уже проиндексированных файлов и забыть о них совсем (помните, что упомянутая здесь операция отменит всю вашу работу до определённого коммита!):

Cмотрим на какой коммит откатиться. В примере откатываемся назад на 1 коммит. Для изменения состояния в этой же ветке удалённого репозитория тоже придётся использовать грубую силу — флаг force :

Или посмотреть все изменения, которые происходили с отдельным файлом:

А подробнее?

Итогов подводить не стану. Для заинтересованных лиц ссылочка на неофициальную документацию: The Git Community Book

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *