Похоже, что вы должны взаимодействовать с github.com, чтобы инициировать пул-запрос. Это так?
Похоже, что вы должны взаимодействовать с github.com, чтобы инициировать пул-запрос. Это так?
Ответы:
ОБНОВЛЕНИЕ : команда hub теперь является официальным проектом github и также поддерживает создание запросов на извлечение
ОРИГИНАЛ :
Похоже, что особенно полезная вещь для добавления в команду хаба: http://github.com/defunkt/hub или гем github: http://github.com/defunkt/github-gem
Я предлагаю подать проблему с теми проектами, просящими это. Ребята из Github довольно отзывчивы.
gh pull-request [user] [branch]
.
hub
:hub pull-request -m "message pull request" -b master -h your_branch
hub merge https://github.com/repo/pull/1
Git теперь поставляется с подкомандой 'git request-pull' [-p] <start> <url> [<end>]
Вы можете увидеть документы здесь
Это может оказаться полезным, но оно не совсем то же, что и функция GitHub .
git pull
URL-адрес и ответвление, указанные в вашем запросе на извлечение, чтобы объединить ваши изменения с их локальным клоном и передать эти изменения в github.
С помощью оболочки командной строки Hub вы можете связать ее с Git, а затем вы можете сделать
git pull-request
Из справочной страницы хаба:
git pull-request [-f] [TITLE|-i ISSUE|ISSUE-URL] [-b BASE] [-h HEAD]
Opens a pull request on GitHub for the project that the "origin" remote points to. The default head of the pull request is the current branch. Both base and head of the pull request can be explicitly given in one of the following formats: "branch", "owner:branch",
"owner/repo:branch". This command will abort operation if it detects that the current topic branch has local commits that are not yet pushed to its upstream branch on the remote. To skip this check, use -f.
If TITLE is omitted, a text editor will open in which title and body of the pull request can be entered in the same manner as git commit message.
If instead of normal TITLE an issue number is given with -i, the pull request will be attached to an existing GitHub issue. Alternatively, instead of title you can paste a full URL to an issue on GitHub.
brew install hub
это похоже на правильный ответ для пользователей Mac.
Мужчина ищет как ...
man git | grep pull | grep request
дает
git request-pull <start> <url> [<end>]
Но, несмотря на название, это не то, что вы хотите. Согласно документам:
Создайте запрос с просьбой к вашему исходному проекту внести изменения в их дерево. Запрос, выводимый на стандартный вывод, начинается с описания ветви, суммирует изменения и указывает, откуда их можно извлечь.
@HolgerJust упомянул жемчужину github, которая делает то, что вы хотите:
sudo gem install gh
gh pull-request [user] [branch]
Другие упомянули официальный hub
пакет от github:
sudo apt-get install hub
или
brew install hub
затем
hub pull-request [-focp] [-b <BASE>] [-h <HEAD>]
git request-pull
линию. Да, это имеет смысл, но я удивлен, что у git нет команды для отправки запросов на получение писем, как у github. В конце концов, git config user.email
это доступно для него. Особенно с командой по имени pull-request
.
github-cli
больше не доступно после Precise ... Я открыл вопрос, чтобы попросить альтернативу.
В итоге я сделал свой собственный , и обнаружил, что он работает лучше других решений, которые были вокруг.
Недавно я создал инструмент, который делает именно то, что вы хотите:
https://github.com/jd/git-pull-request
Он автоматизирует все в одной команде, разветвляет репо, нажимает PR и т.д. Он также поддерживает обновление PR, если вам нужно отредактировать / исправить его!
Я использую простой псевдоним для создания запроса на извлечение,
alias pr='open -n -a "Google Chrome" --args "https://github.com/user/repo/compare/pre-master...nawarkhede:$(git_current_branch)\?expand\=1"'
Кроме того github/hub
, который действует как прокси для Git , у вас сейчас (февраль 2020) естьcli/cli
:
См. « Улучшите работу с командной строкой: GitHub CLI сейчас в бета-версии »
Создать пул-запрос
Создайте ветку, сделайте несколько коммитов, чтобы исправить ошибку, описанную в этой проблеме, и используйте gh, чтобы создать запрос на извлечение, чтобы поделиться вашим вкладом.
Используя GitHub CLI для создания запросов извлечения, он также автоматически создает разветвление, когда у вас его еще нет, и толкает вашу ветку и создает ваш запрос разрыва, чтобы объединить ваши изменения.
А в апреле 2020 года: « GitHub CLI теперь поддерживает автоматическое заполнение запросов на выборку и пользовательскую настройку »
GitHub CLI 0.7 вышел с несколькими наиболее востребованными улучшениями из отзывов наших бета-пользователей.
Начиная с последнего минорного выпуска, 0.6, есть три основных функции:
- Настройте
gh
для использования предпочитаемого вами редактора сgh config set editor [editor]
.- Настройте
gh
по умолчанию на SSH сgh config set git_protocol ssh
.
Протокол Git по умолчанию - HTTPS.- Автозаполните заголовок и текст запроса на получение из ваших коммитов
gh pr create --fill
.
Так:
gh pr create --fill
Я использовал этот инструмент раньше - хотя кажется, что сначала нужно открыть проблему, она очень полезна и действительно оптимизирует рабочий процесс, если вы используете отслеживание проблем github. git open-pull и затем отправляется запрос на получение из любой выбранной вами ветки. https://github.com/jehiah/git-open-pull
РЕДАКТИРОВАТЬ: похоже, вы можете создавать проблемы на лету, поэтому этот инструмент является хорошим решением.