Как сделать Git запрос на удаленную ветку через командную строку - PullRequest
0 голосов
/ 29 января 2020

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

Прямо сейчас у меня есть Git репо с 3 ветками, размещенными на Azure Devops (очень похоже на Github / Gitlab / Bitbucket et c).

Мой текущий поток заключается в коммите и pu sh локально (с использованием PHP Storm) а затем войдите в систему Azure Devops и вручную используйте их пользовательский интерфейс для отправки запроса из моей ветки develop в мою ветку staging. Затем я захожу на сервер и git извлекаю из ветви staging.

У меня есть три ветви: develop, staging и production.

Но на моя локальная машина у меня только develop, остальные существуют только на удаленном сервере. Я просто работаю в develop и pu sh до origin/develop, а затем делаю запрос на извлечение из develop в staging и затем production, когда готов.

Я полагаю, что должно быть способ написать сценарий, чтобы сделать все это сразу и не нужно входить в систему Azure Devops или сервер.

Чтобы подвести мой вопрос настолько просто, насколько это возможно:

У меня в настоящее время есть для входа в систему Azure Devops и выполните следующие действия:

  1. Войдите в систему Azure Devops
  2. Нажмите ветви
  3. Нажмите "Новый запрос на извлечение" рядом с staging ответвление
  4. Написать сообщение коммита (фактически помеченное как «заголовок»)
  5. Нажмите «Завершить»
  6. Нажмите «Завершить объединение»

Я бы хотел не заходить в Azure Devops и добиться этого через командную строку. Возможно ли это?

ОБНОВЛЕНИЕ

Я обнаружил, что в основном могу делать то, что я хочу, войдя на сервер и выполнив:

  • git pull (это будет тянуть последнюю разработку, хотя я нахожусь в стадии подготовки
  • git merge origin/develop (это объединит развитие в постановку локально)
  • git push (это обновит дистанционную подготовку)

Это прекрасно работает, хотя одним недостатком является то, что, похоже, нет способа отследить, насколько далеко отстает staging от develop, что обеспечивается пользовательским интерфейсом azure devops.

Ответы [ 3 ]

0 голосов
/ 29 января 2020

На самом деле существует несколько способов создания запроса Pull в Azure DevOps. Например: со страницы «Запросы извлечения» в Интернете, Team Explorer в Visual Studio, раздел «Разработка» в связанном рабочем элементе.

What you are looking for is creating pull request from Git Bash into Azure DevOps.

Мы можем расширить псевдонимы Git с помощью команд VSTS CLI для достижения этого.

Существует интерфейс VSTS CLI , который можно настроить для использования git псевдонимов , включая создание запросов на получение.

Подробнее см. В этом документе:

Visual Studio и Azure DevOps Git: расширение командной строки git с помощью команд сервера - часть 2

Кроме того, вы также можете создать сценарий PowerShell для упрощения процесса. В основном вам нужно сделать следующее:

  • Получить Azure DevOps-токен доступа
  • Передать токен в PowerShell и позволить ему выполнить шаги установки ,

    Вы можете проверить детали здесь

Git Hub Repo

0 голосов
/ 30 января 2020

Я обнаружил, что могу в основном делать то, что я хочу, войдя на сервер и выполнив:

git pull

(это потянет последние разработки, хотя я нахожусь в staging

git merge origin/develop -m "My commit message"

(это объединится в локальную постановку)

git push

(обновит удаленную постановку)

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

0 голосов
/ 29 января 2020

Существует клиент командной строки Azure, который можно использовать для создания запроса на получение , но не для слияния. Если вы также хотите объединить его, вам нужно будет использовать API, как упоминает Zeitounator.

В зависимости от того, что вы хотите сделать, вы можете использовать команду azure repos pr update с --auto-complete чтобы он автоматически сливался, когда вы довольны решением проблемы.

...