Кажется, вам нужно взаимодействовать с github.com, чтобы инициировать запрос на перенос. Это так?
Можете ли вы выдавать запросы на тягу из командной строки на GitHub?
Ответ 1
ОБНОВЛЕНИЕ: команда hub теперь является официальным проектом github и также поддерживает создание запросов извлечения
ОРИГИНАЛ:
Похоже, что особенно полезно добавить в команду hub: http://github.com/defunkt/hub или гем github: http://github.com/defunkt/github-gem
Я предлагаю подать проблему с теми проектами, просящими это. Ребята из Github довольно отзывчивы.
Ответ 2
Git теперь поставляется с подкомандой 'git request-pull' [-p] <start> <url> [<end>]
Вы можете посмотреть документы здесь
Это может оказаться полезным, но это не то же самое, что функция GitHub.
Ответ 3
С оболочкой командной строки концентратора вы можете связать ее с 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.
Ответ 4
Человек ищет как...
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>]
Ответ 5
Я закончил создание своего, я считаю, что он лучше работает с другими решениями, которые были вокруг.
Ответ 6
Недавно я создал инструмент, который делает именно то, что вы хотите:
https://github.com/jd/git-pull-request
Он автоматизирует все в одной команде, разворачивает репо, нажимает PR и т.д. Он также поддерживает обновление PR, если вам нужно его отредактировать/исправить!
Ответ 7
Этот ответ является альтернативным способом использования команды git request-pull. Используя этот подход, вы не будете создавать запрос на извлечение напрямую из командной строки, а скорее из командной строки это ускорит и упростит создание запроса на перенос на github, удалив несколько шагов.
Я не использую команду request-pull по двум причинам:
- Я нахожу поиск имени другого репозитория, с которым вы хотели бы сделать запрос на вытягивание, слишком долгое время.
- Возможность предварительного просмотра отформатированного текста перед созданием запроса на перенос.
Почему бы нам не автоматизировать создание вкладки для сравнения текущей ветки с другой, используя существующую функцию сравнения github?
Я создал для этого оболочку script и создал псевдоним, который указывает на оболочку script:
git symbolic-ref HEAD |
sed -e "s/^refs\/heads\///" |
awk '{printf "https://github.com/USERACCOUNT/REPOSITORY-NAME/compare/%s?expand=1",$1}' |
xargs open
Примечание: USERACCOUTN и REPOSITORY-NAME необходимо изменить на ваш.
помещает этот script в файл с именем create-pull-request.sh. то мы могли бы просто создать псевдоним для запуска script, добавив эту строку в ваш .bashrc файл:
alias makepullrequest="sh PATH-TO-THE-SCRIPT/create-pull-request.sh"
Ответ 8
Я использую простой псевдоним для создания запроса извлечения,
alias pr='open -n -a "Google Chrome" --args "https://github.com/user/repo/compare/pre-master...nawarkhede:$(git_current_branch)\?expand\=1"'
Ответ 9
Я использовал этот инструмент раньше - хотя кажется, что сначала нужно открыть проблему, это очень полезно и действительно упрощает рабочий процесс, если вы используете отслеживание проблем github. git open-pull, а затем запрос на вытягивание отправляется из любой ветки, на которой вы находитесь, или выберите. https://github.com/jehiah/git-open-pull
EDIT: Похоже, вы можете создавать проблемы "на лету", поэтому этот инструмент является хорошим решением.