Как открыть запрос на извлечение с помощью Git CLI без использования графического интерфейса

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

Вот синтаксис:

curl -v --user {username}:"{password}" \ 
https://bitbucket.org/api/1.0/repositories/{accountname}/{repo_slug}/fork \ 
--data "name=mynewrepo"

Чтобы разветвить проект A из учетной записи B в мою учетную запись C с именем Project D, я буду использовать следующую команду:

  1. curl -v --user XYZ: "XYZPASSWORDXYZ" \ https://bitbucket.org/api/1.0/repositories/ABC/ProjectABC/fork \ --data "name=ProjectXYZ"

  2. Теперь я клонирую этот проект на свою локальную машину, git clone [project]

  3. Я перейду в каталог своего проекта и добавлю удаленный апстрим, который будет указывать на исходный репозиторий: git remote add upstream [git]

  4. Теперь, в любое время, чтобы вытащить изменения из исходного репозитория (скажем, из основной ветки), я буду использовать: git pull upstream master и для отправки моих локальных коммитов в мой целевой репозиторий на сервере я буду использовать: git push origin master

И когда ваши изменения в целевом репозитории будут готовы к объединению с исходным репозиторием, создайте запрос на слияние либо с веб-сайта Bitbucket, либо с помощью Bitbucket API: запрос на слияние

Однако, если вы рассчитаете свое время на выполнение этих действий, это может занять от 30 секунд до 2 минут, если у вас медленная система. Я хочу сказать, есть ли способ отправить запрос на слияние, используя только одну команду, которая сделает все это без всего этого?

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
2
0
802
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

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

# on cloning :
git clone <url> --depth 1

# on fetching :
git fetch --depth 1 origin <branch>

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

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

git fetch --depth 20 origin master
git fetch --depth 100 origin develop

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


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

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

Ответ принят как подходящий

Я решил это, следуя документации, приведенной в GitHub CLI Manual. Создать запрос на слияние с помощью командной строки очень просто: gh pr create

Другие вопросы по теме