Тянуть запросы | Atlassian Git Tutorial

  1. Анатомия запроса тяги
  2. Как это устроено
  3. Рабочий процесс ветки компонента с запросами на извлечение
  4. Рабочий процесс Gitflow с запросами Pull
  5. Форкинг рабочего процесса с запросами на извлечение
  6. пример
  7. Мэри разветвляется официальный проект
  8. Мэри клонирует свой репозиторий Bitbucket
  9. Мэри разрабатывает новую функцию
  10. Мэри добавляет эту функцию в свой репозиторий Bitbucket.
  11. Мэри создает запрос на извлечение
  12. Джон рассматривает запрос на извлечение
  13. Мэри добавляет последующий коммит
  14. Джон принимает запрос на извлечение
  15. Куда пойти отсюда

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

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

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

По сравнению с другими моделями совместной работы это формальное решение для обмена коммитами обеспечивает значительно более упорядоченный рабочий процесс. SVN и Git могут автоматически отправлять уведомления по электронной почте с помощью простого скрипта; однако, когда дело доходит до обсуждения изменений, разработчикам обычно приходится полагаться на потоки электронной почты. Это может стать случайным, особенно когда участвуют последующие коммиты. Запросы Pull помещают все эти функции в дружественный веб-интерфейс рядом с вашими хранилищами Bitbucket.

Анатомия запроса тяги

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

Это означает, что вам нужно предоставить 4 части информации для подачи запроса на извлечение: исходный репозиторий, исходная ветвь, целевой репозиторий и конечная ветвь

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

Как это устроено

Запросы на извлечение можно использовать вместе с Рабочий процесс ветки , Gitflow Workflow , или Форкинг рабочего процесса , Но для запроса на вытягивание требуются либо две разные ветви, либо два разных репозитория, поэтому они не будут работать с Централизованный рабочий процесс , Использование запросов на получение с каждым из этих рабочих процессов немного отличается, но общий процесс выглядит следующим образом:

  1. Разработчик создает функцию в отдельной ветке в своем локальном репо.

  2. Разработчик помещает ветку в общедоступный репозиторий Bitbucket.

  3. Разработчик подает запрос на получение через Bitbucket.

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

  5. Сопровождающий проекта объединяет эту функцию с официальным репозиторием и закрывает запрос на извлечение.

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

Рабочий процесс ветки компонента с запросами на извлечение

Рабочий процесс Feature Branch использует общий репозиторий Bitbucket для управления совместной работой, а разработчики создают функции в изолированных ветвях. Но вместо того, чтобы немедленно объединить их с основным, разработчики должны открыть запрос на извлечение, чтобы начать обсуждение этой функции, прежде чем она будет интегрирована в основную кодовую базу.

Но вместо того, чтобы немедленно объединить их с основным, разработчики должны открыть запрос на извлечение, чтобы начать обсуждение этой функции, прежде чем она будет интегрирована в основную кодовую базу

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

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

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

Рабочий процесс Gitflow с запросами Pull

Рабочий процесс Gitflow похож на рабочий процесс Feature Branch, но определяет строгую модель ветвления, разработанную для выпуска проекта. Добавление запросов на извлечение в Gitflow Workflow дает разработчикам удобное место для обсуждения ветки релиза или ветки обслуживания, пока они над этим работают.

Добавление запросов на извлечение в Gitflow Workflow дает разработчикам удобное место для обсуждения ветки релиза или ветки обслуживания, пока они над этим работают

Механизм запросов на получение данных в рабочем потоке Gitflow такой же, как и в предыдущем разделе: разработчик просто подает запрос на выборку, когда необходимо рассмотреть функцию, выпуск или ветку исправлений, а остальная часть команды получит уведомление через Bitbucket. ,

Функции, как правило, объединяются в ветке разработки, в то время как ветки релиза и исправлений объединяются как в разработку, так и в основную версию. Запросы на извлечение могут использоваться для формального управления всеми этими слияниями.

Форкинг рабочего процесса с запросами на извлечение

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

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

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

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

Два разработчика могут обсудить и разработать функцию внутри запроса на извлечение. Когда они закончат, один из них подаст еще один запрос на извлечение с просьбой объединить эту функцию с официальной основной веткой. Такая гибкость делает запросы на получение запросов очень мощным инструментом совместной работы в рабочем процессе Forking.

пример

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

В этом примере Мэри - разработчик, а Джон - сопровождающий проекта. У них обоих есть свои публичные репозитории Bitbucket, а у John's есть официальный проект.

Мэри разветвляется официальный проект

Чтобы начать работать над проектом, Мэри сначала нужно разветвить репозиторий Джона Битбакета. Она может сделать это, войдя в Bitbucket, перейдя в репозиторий Джона и нажав кнопку Fork .

Она может сделать это, войдя в Bitbucket, перейдя в репозиторий Джона и нажав кнопку Fork

После заполнения имени и описания для разветвленного репозитория у нее будет копия проекта на стороне сервера.

Мэри клонирует свой репозиторий Bitbucket

Затем Мэри нужно клонировать репозиторий Bitbucket, который она только что разветвила. Это даст ей рабочую копию проекта на ее локальной машине. Она может сделать это, выполнив следующую команду:

git clone https: //[email protected]/user/repo.git

Имейте в виду, что git clone автоматически создает удаленный источник, который указывает на разветвленный репозиторий Мэри.

Мэри разрабатывает новую функцию

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

git checkout -b some-feature # Редактировать некоторый код git commit -a -m "Добавить первый черновик некоторой функции"

Мэри может использовать столько коммитов, сколько ей нужно для создания этой функции. И, если история функции сложнее, чем она хотела бы, она может использовать интерактивная перебазировка удалить или раздавить ненужные коммиты. Для более крупных проектов очистка истории объекта значительно облегчает сопровождающему проекта возможность видеть, что происходит в запросе на извлечение.

Мэри добавляет эту функцию в свой репозиторий Bitbucket.

После того, как ее функция завершена, Мэри отправляет ветку функций в свой собственный репозиторий Bitbucket (не официальный репозиторий) простым нажатием git:

git push origin some-branch

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

Мэри создает запрос на извлечение

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

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

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

Джон рассматривает запрос на извлечение

Джон может получить доступ ко всем запросам на получение, которые были поданы людьми, щелкнув вкладку « Запрос на получение » в своем собственном репозитории Bitbucket. При нажатии на запрос извлечения Мэри отобразится описание запроса извлечения, история коммитов функции и список всех изменений, которые она содержит.

Если он считает, что функция готова к слиянию с проектом, все, что ему нужно сделать, - это нажать кнопку « Слить» , чтобы утвердить запрос на извлечение и слить функцию Мэри в его основную ветвь.

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

Он может либо опубликовать комментарий к запросу на извлечение в целом, либо он может выбрать конкретный коммит в историю объекта, чтобы комментировать

Мэри добавляет последующий коммит

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

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

Джон принимает запрос на извлечение

Наконец, Джон принимает изменения, объединяет ветвь функций с главной и закрывает запрос на извлечение. Эта возможность теперь интегрирована в проект, и любые другие разработчики, работающие над ней, могут использовать ее в своих локальных репозиториях с помощью стандартной команды git pull.

Куда пойти отсюда

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

Похожие

Как это делается: маринованные грибы
Сначала в банки кладут приложения и специи - вручную, как на обычной кухне .. Женщины на конвейере работают в резиновых перчатках. Измельченные морковь, лук, приправы насыпают мерной посудой - поочередно. Фото: Татьяна Донченко На современном производстве, которое соответствует европейским стандартам
Зараженный телефон. Как защитить свой смартфон от вирусов?
Вредоносное ПО все чаще становится угрозой для смартфонов. По данным «Лаборатории Касперского», в третьем квартале 2015 года на мобильные устройства было установлено в 1,5 раза больше вредоносных пакетов, чем в предыдущем квартале *. Вот почему защита смартфонов или других портативных устройств не должна отличаться от защиты настольного компьютера. Что нужно сделать, чтобы не стать жертвой киберпреступников? Вопреки
Места с Гарри Поттером - как посетить Хогвартс и сколько это стоит?
... пресс, выпейте сливочное пиво в Pod Trzema Miotłami, постучите в дверь Хогвартса - о чем не мечтает поклонник Гарри Поттера? Это все возможно! Только для детей? Отсюда еще раз: книги Дж. К. Роулинг, изданные с 1990-х годов, похитили даже поколение сегодняшних 20-летних и 30-летних. Где именно места от Гарри Поттера? Мы приглашаем вас в путешествие.
Как использовать часы в Minecraft
Это руководство Minecraft объясняет, как использовать часы со скриншотами и пошаговые инструкции. В Minecraft вы можете использовать часы, чтобы узнать, какое сейчас время дня, когда вы работаете под землей или в помещении. Давайте рассмотрим, как использовать часы. Требуемые материалы В Minecraft это материалы, необходимые для использования часов: СОВЕТ: Вам нужен только элемент кадра, если вы хотите поставить часы на стену /
Как ваш веб-браузер сообщает вам, когда это безопасно
... на прошлой неделе прописал график, который он будет использовать чтобы обратить вспять годы совета экспертов по безопасности при просмотре веб-страниц - «искать замок». Начиная с июля, поисковый гигант будет отмечать небезопасные URL-адреса в своем доминирующем на рынке Chrome, а не те, которые уже являются безопасными. Цель гугла? Давите
Как шпионить WhatsApp News
Описание: WhatsApp полностью изменил способ нашего общения. Однако для родителей и работодателей это усиленное общение может вызывать беспокойство. Дети могут получить доступ к неподходящим материалам и связаться с людьми, которые могут использовать их невиновность, а сотрудники могут тратить время на ненужные вещи, пока вы платите им за рабочее время. Давайте посмотрим на три лучших шпионских приложения для iPhone и Android, от которых я могу эффективно избавиться.
Как скачать фильмы с сайта YouTube - Скачать в формате 1080p и 4K
Добавлено: 4 года, 8 месяцев назад оценка: (1) (0) Популярный сайт YouTube постоянно меняется. Время от времени появляется новый вид сайта, но также меняются его функциональные возможности. В сегодняшней статье я представлю два способа загрузки фильма в высоком разрешении. Я приглашаю вас прочитать!
Как сделать хороший фирменный портрет - практическое руководство
... сайтов трудно представить, что современная компания не будет иметь профессиональных деловых фотографий, на которых изображены ее сотрудники, а также президент или совет директоров. Зачастую формирование доверия клиентов начинается с хорошего имиджа, который становится витриной компании. Однако должно ли это включать аренду фотографа или посещение всей команды в фотостудии? Узнайте, как сделать хороший корпоративный портрет с базовыми знаниями правил съемки и минимальным оснащением.
Как вывести фотографии в интернет
Камеры снимают многопиксельные фотографии, но почему-то случается, что эти пиксели нам нужны не так часто, как они есть, и чаще всего они нужны нам гораздо меньше. Нет смысла выкладывать картинки размера «прямо с камеры» на сайты. Следовательно, вы должны уменьшить фотографии в Интернет. В этой статье вы узнаете, как масштабировать фотографии в Интернете и почему, каковы лучшие методы масштабирования и ... как этого не делать. Как масштабировать фотографии в интернете Вы можете
Как использовать рабочий стол Chrome OS в Windows 8 (и почему он существует)
... на рабочий стол Windows, но теперь Chrome может полностью заменить рабочий стол Windows. Вместо того, чтобы создавать собственные приложения для Windows 8, Google предпочитает подключить рабочий стол в стиле Chromebook к Windows 8. Конечно, вы можете продолжать использовать Chrome на рабочем столе, как и раньше. Как это работает? Разве Microsoft не ограничивает приложения для Windows 8? Когда Microsoft анонсировала Windows 8, они сказали, что существует три
Как добавить или изменить подпись в Office 365 OWA
В этой статье я собираюсь показать вам, как создавать и редактировать подписи в почтовом клиенте Office 365. После входа в учетную запись Office 365 щелкните вкладку «Почта» в верхнем меню или на главной панели, чтобы включить Outlook Web App.

Комментарии

Как обычно в таких случаях, истина лежит где-то посередине, так как же это на самом деле?
Как обычно в таких случаях, истина лежит где-то посередине, так как же это на самом деле? Реклама в Google регулируется собственными законами. Прежде всего, это взимается за стоимость одной диверсии. Это означает, что чем больше бюджет, тем больше людей будет посещать наш сайт. Если мы сократим бюджет вдвое, шанс сохранить текущее количество перенаправлений будет незначительным. Вот как работает реклама Google, и это элемент, с которым нам определенно нужно смириться. Продукт за
Как это с этой круглосуточной помощью?
Как это с этой круглосуточной помощью? «24-часовая техническая поддержка заключается в мониторинге работы серверов - если, следовательно, возникает ситуация с физическими недостатками - дежурные техники будут предупреждены. С другой стороны, индивидуальные запросы клиентов рассматриваются в часы, указанные на вкладке «Контакты». Вы можете связаться с нами по электронной почте, а также по телефону. " Webd.pl Кроме того, в рамках поддержки компания предлагает:
Или, может быть, вы не обращаете на это внимания так же, как я?
Или, может быть, вы не обращаете на это внимания так же, как я?
Хорошо, так как он узнает, чтобы начать слушать прямо перед тем, как я собираюсь сказать «Хорошо, Google?
Хорошо, так как он узнает, чтобы начать слушать прямо перед тем, как я собираюсь сказать «Хорошо, Google?») «Это не имеет большого значения». (Компания Stealth устанавливает аудиослушатель, который слушает каждую комнату в мире, которую он может, и передает аудиоданные на корабль, когда он встречает неизвестный, возможно, индивидуально подобранный список ключевых слов - и это не страшно !?) «Вы можете отказаться , Это в Условиях предоставления услуг ». (Нет. Просто нет. Это не то, что является малейшим
Если вы находитесь в таком месте, как этот, вы иногда задаетесь вопросом, какова его история: с каких пор эта река течет, как поднимался этот песчаный холм?
Если вы находитесь в таком месте, как этот, вы иногда задаетесь вопросом, какова его история: с каких пор эта река течет, как поднимался этот песчаный холм? - Извините, у меня нет такой тенденции, но я знаю ответ на остальные ваши вопросы - ледник. - Согласен. Хотя, вероятно, было бы лучше сказать ледяной покров ... Жаль, однако, что у вас нет тенденции смотреть на вещи на расстоянии. Жаль ... К счастью, автор редко отдает предпочтение такой окраске своей лекции. Большая часть контента
Что это значит и почему это важно?
Что это значит и почему это важно? В течение нескольких поколений Samsung поднимает планку мобильной фотографии все выше и выше, но в то же время производитель упускает самую важную тенденцию. Серия Galaxy - особенно в топовом варианте S7, S8 и Note 7 - имеет отличные характеристики с точки зрения фотографии. Дело дошло до того, что по качеству фотографий сейчас этот iPhone должен преследовать Samsung, а не наоборот. Samsung так много внимания уделял усовершенствованию
Почему это должно быть способом сделать это?
Почему это должно быть способом сделать это? По словам Оперы, это единственный разумный путь. В противном случае гонка вооружений продолжится, что мы наблюдаем в некоторых случаях сегодня. Отдельные сайты используют антиблокирующую рекламу, поэтому создатели их блокирующих расширений создают антиблокирующую рекламу и так далее. Это не только пустая трата ресурсов, но и портит рынок ... нет, не только веб-сайты, но и сама реклама: количество показов растет, но также наиболее важным фактором является
Как вы всегда можете иметь это дома?
Как вы всегда можете иметь это дома? Просто добавьте ссылку https://customers.verisure.it/ на старте вашего Windows Phone, и веб-приложение портала клиентов будет доступно прямо на главной странице вашего смартфона. My Verisure был дополнен новыми функциями и графическим рестайлингом, который делает его более интуитивным и простым в управлении. Активируйте будильник, где бы вы ни были Вы путешествуете и забыли
Как это случилось?
Как это случилось? Команда Threat Labs развернула логику проверки обнаружения, которая переместила проверку на более раннюю стадию процесса выпуска обнаружения. Множество факторов, включая развертывание новой версии бэкэнда, заставили это обнаружение обойти проверки безопасности, которые обычно проводятся, что приводит к его выпуску. Что мы делаем, чтобы это исправить? Мы внедряем дополнительные проверки в процессах генерации, проверки и обнаружения, чтобы предотвратить такие
Через некоторое время я начал задаваться вопросом, что же это за позиционирование, действительно ли это черная магия, доступная только избранным?
Через некоторое время я начал задаваться вопросом, что же это за позиционирование, действительно ли это черная магия, доступная только избранным? Могу ли я сам не заниматься позиционированием своего сайта? Я знаю, что это может выглядеть как акт отчаяния для вас, но я принял вызов. Я боялся, что сделаю что-то не так, сайт уйдет из Google, и я останусь ни с чем. Это видение испугало меня, поэтому я твердо взялся за обучение. Я купил все доступные на рынке книги о позиционировании,
И как это выглядит на практике?
И как это выглядит на практике? Я думаю, что следующие фотографии закроют даже самых привередливых недовольных;). Samsung Galaxy S7 Edge Пример фото Авто режим - 90 секунд

Как защитить свой смартфон от вирусов?
Что нужно сделать, чтобы не стать жертвой киберпреступников?
?пресс, выпейте сливочное пиво в Pod Trzema Miotłami, постучите в дверь Хогвартса - о чем не мечтает поклонник Гарри Поттера?
Только для детей?
Где именно места от Гарри Поттера?
Цель гугла?
Однако должно ли это включать аренду фотографа или посещение всей команды в фотостудии?
Как это работает?
Разве Microsoft не ограничивает приложения для Windows 8?
Как обычно в таких случаях, истина лежит где-то посередине, так как же это на самом деле?