Как отправить запрос на включение
Допустим, вы написали какой-то код на develop
ответвляться. Вы закончили с тем, над чем работали, и хотите объединить его с master
ответвляться.
Но вы не знаете, достаточно ли хорош написанный вами код. Вы хотите, чтобы кто-то проверил ваш код, прежде чем вы объедините его с основной веткой.
Вы можете сделать это с помощью запроса на вытягивание
Что такое запрос на вытягивание?
Запрос на вытягивание — это сокращение от «запрос на получение Git Pull».
Это может сбивать с толку, поэтому мы собираемся объяснить это с помощью аналогии.
Представьте, что у вас есть ящик с бананами, который вы хотите погрузить на корабль. Единственный способ загрузить бананы:
- Вы заставляете кого-то бросить веревку
- Вы привязываете веревку к ящику
- Они тянут ящик вверх
Когда они вытащат ящик, они захотят проверить, хороши ли ваши бананы. Если они заметят гнилой банан, они могут попросить вас заменить этот гнилой банан на хороший.
Они также могут подумать, что все ваши бананы отстой, и решить их выбросить. (Но будем надеяться, что этого не произойдет, не так ли?)
В этой аналогии ящик с бананами — это ваш код из ветки разработки. Корабль является основной веткой. Матрос здесь, чтобы проверить, достаточно ли хорош ваш код для ветки master.
Вот что такое запрос на вытягивание: вы просите кого-то проверить ваш код перед слиянием с другой веткой.
Единственная разница между нашей аналогией, которую мы использовали, и реальным пул-реквестом заключается в следующем: вы не просите кого-то бросить вам веревку. Ты сам приносишь веревку, привязываешь ее к своим бананам в гавани и бросаешь на корабль. Единственное, что нужно сделать моряку, это проверить бананы.
Это то, что мы подразумеваем, отправляя запрос на извлечение.
Есть два способа отправить запрос на включение. Как вы это сделаете, зависит от того, есть ли у вас доступ на запись в репозиторий.
Прежде чем мы отправим запрос на включение, нам нужно внести некоторые изменения, чтобы у нас было что объединить. В этом случае мы собираемся добавить заголовок в код:
<!-- The code we're using to submit the pull request -->
<h2>I'm a heading</h2>
Вам нужно зафиксировать этот код в ветке разработки. Затем вам нужно нажать его на пульт git.
f Он появится в разделе, который я выделил на изображении ниже.
Если вы видите сообщение, прекрасно. Нажмите здесь. Вы сэкономите несколько шагов.
Если вы его не видите, вы можете щелкнуть вкладку запроса на включение в верхней части вашего репозитория Github.
Затем нажмите зеленую кнопку с надписью «новый запрос на извлечение».
Вы попадете на страницу с надписью «Сравнить изменения».
Чтобы создать запрос на вытягивание, вы хотите установить базу и сравнить ветки со следующими:
base
: ветка, с которой вы хотите объединитьсяcompare
: ветка, из которой вы хотите выполнить слияние
В нашем случае мы хотим выполнить слияние с мастером, поэтому установим base
к master
. Мы объединяемся из develop
поэтому поставим compare
к develop
.
После того, как вы выбрали свои ветки, Github покажет вам список сделанных коммитов. Вот что вам нужно сделать, это нажать на кнопку «Создать запрос на вытягивание».
Github покажет вам страницу с надписью «Откройте запрос на вытягивание».
Примечание. На эту страницу вы попадете, если увидите сообщение «Ваша ветка была обновлена X минут назад», о котором я говорил ранее.
Заголовок, который вы напишете, будет тем, что люди увидят на вкладке запроса на вытягивание. Мы собираемся установить его на «Добавить заголовок в указатель».
Что касается комментариев, это будет первое сообщение, которое люди увидят, когда нажмут на запрос на вытягивание. В этом случае мы скажем: «Я добавил заголовок. Дайте мне знать, если это хорошо?».
После того, как вы добавили заголовок и сообщение, вы можете нажать кнопку «Создать запрос на вытягивание» внизу страницы.
Теперь, если вы нажмете на вкладку запроса на вытягивание вверху, вы откроете запрос на вытягивание, который мы только что отправили.
Вот как вы создаете запрос на извлечение, если у вас есть доступ на запись в репозиторий.
Если у вас нет прав на запись в репозиторий, вам придется создать вилку. Давайте сделаем паузу и поговорим о том, что такое вилка.
Что такое вилка?
Форк НЕ является клиентом git, который вы используете. Не запутайтесь!
Форк в Git означает репозиторий, основанный на другом репозитории.
Вы уже узнали о ветках и знаете, что ветку можно создать из другой ветки. (Создание develop
ответвление от master
Например).
На этой же ноте репозиторий можно создать из другого репозитория. Репозиторий, созданный из другого репозитория, называется форком.
Разветвленный репозиторий содержит все, что есть в основном репозитории (на момент его разветвления). Он включает в себя все теги и ветки.
Вы владеете разветвленным репозиторием (который дает вам доступ для записи). Этот разветвленный репозиторий по-прежнему будет привязан к основному репозиторию. Вы собираетесь сделать запрос на вытягивание по этой отслеживаемой ссылке.
Давайте посмотрим, как это работает на практике.
Примечание. Вы не можете разветвить собственный репозиторий. Что я собираюсь сделать, так это использовать фиктивную учетную запись, чтобы показать вам, как это работает. С этого момента обратите внимание на эти два имени учетной записи:
- Основной счет:
zellwk
- Фиктивный аккаунт:
zellwk2
.
(Мне нужно было создать совершенно другое имя… но я думаю, что вы вполне сможете следовать за ним).
Чтобы разветвить репозиторий, вы нажимаете кнопку разветвления в правом верхнем углу репозитория.
После завершения форка вы увидите репозиторий, который выглядит (почти) точно так же, как репозиторий, из которого вы сделали форк. Однако есть одно отличие — если вы посмотрите на название проекта, вы увидите, что проект разветвлен из другого репозитория.
У вас есть доступ на запись к этому разветвленному репозиторию.
Вот что мы делаем, когда отправляем запрос на извлечение из разветвленного репозитория:
- Создать новую ветку
- Напишите код в этой новой ветке
- Отправьте запрос на извлечение из этой новой ветки
Но на этом уроке я не буду создавать новую ветку, потому что мне нужно настроить фиктивную учетную запись в моем Git-клиенте. (Это утомительный процесс).
Итак, для этого урока мы собираемся написать в develop
филиал напрямую. Затем мы отправим запрос на извлечение из develop
ответвляться.
В этом случае я добавляю список со следующим HTML в index.html
файл
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
Примечание: я оставил <ul>
тег открыт в этом примере. Мы рассмотрим эту ошибку, когда будем рассматривать этот запрос на вытягивание на следующем уроке.
Сообщение фиксации для этих изменений: Add list
.
Теперь, если вы вернетесь в свой разветвленный репозиторий, вы сможете увидеть кнопку под названием «новый запрос на включение». Эта кнопка находится рядом с кнопкой, позволяющей переключать ветки.
Нажмите на эту новую кнопку запроса на вытягивание, чтобы создать запрос на вытягивание.
Github приведет вас на страницу с надписью «Откройте новый запрос на включение». Эта страница выглядит так же, как страница «Открыть новый запрос на вытягивание», которую вы видели выше.
Разница в том, что вам нужно установить четыре вещи:
- Базовая вилка
- Базовая ветвь
- Головная вилка
- Ветка сравнения
Из приведенного выше примера мы знаем две вещи:
-
base
ветка — это ветка, с которой вы хотите объединиться -
compare
ветка — это ветка, из которой вы хотите выполнить слияние
Из предыдущего примера запроса на вытягивание мы знаем base
ветвь — это ветвь, с которой вы хотите объединиться, а compare
ветка — это ветка, из которой вы хотите выполнить слияние.
Это означает, что мы должны установить следующее:
- Базовая вилка:
zellwk/project
- Базовая ветвь:
master
- Головная вилка:
zellwk2/project
- Ветка сравнения:
develop
Далее вам нужно написать заголовок запроса на включение, написать комментарий и нажать кнопку New Pull Request.
И вы отправили запрос на извлечение из разветвленного репозитория.
Подведение итогов
Когда вы отправляете запрос на вытягивание, вы просите кого-нибудь просмотреть ваши изменения, прежде чем объединять их в ветку.
Есть два способа создать запрос на извлечение. Как вы это сделаете, зависит от того, есть ли у вас доступ на запись в репозиторий.
Если у вас есть права на запись, вы можете создать запрос на извлечение со страницы репозитория.
Если у вас нет доступа для записи, вам нужно разветвить репозиторий на свою собственную страницу. Затем вы создаете запрос на извлечение из своего разветвленного репозитория.
Спасибо за чтение. Эта статья изначально была размещена на мой блог. Подписаться на моя рассылка если вы хотите больше статей, которые помогут вам стать лучшим разработчиком внешнего интерфейса.