Parece que tiene que interactuar con github.com para iniciar una solicitud de extracción. ¿Es esto así?
Parece que tiene que interactuar con github.com para iniciar una solicitud de extracción. ¿Es esto así?
Respuestas:
ACTUALIZACIÓN : el comando hub ahora es un proyecto oficial de github y también admite la creación de solicitudes de extracción
ORIGINAL :
Parece algo particularmente útil para agregar al comando hub: http://github.com/defunkt/hub o la gema github: http://github.com/defunkt/github-gem
Sugiero presentar un problema con los proyectos que lo soliciten. Los chicos de Github son bastante receptivos.
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 ahora se envía con un subcomando 'git request-pull' [-p] <start> <url> [<end>]
Puedes ver los documentos aquí
Puede resultarle útil, pero no es exactamente lo mismo que la función de GitHub .
git pull
de las URL y ramas indicadas en su solicitud de extracción para fusionar sus cambios en su clon local y llevar estos cambios a github.
Con el contenedor de línea de comandos de Hub puedes vincularlo a git y luego puedes hacer
git pull-request
Desde la página del manual de hub:
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
esta parece ser la respuesta correcta para los usuarios de mac.
Un hombre busca como ...
man git | grep pull | grep request
da
git request-pull <start> <url> [<end>]
Pero, a pesar del nombre, no es lo que quieres. Según los documentos:
Genere una solicitud pidiéndole a su proyecto ascendente que extraiga los cambios en su árbol. La solicitud, impresa en la salida estándar, comienza con la descripción de la rama, resume los cambios e indica desde dónde se pueden extraer.
@HolgerJust mencionó la gema github que hace lo que quieres:
sudo gem install gh
gh pull-request [user] [branch]
Otros han mencionado el hub
paquete oficial de github:
sudo apt-get install hub
o
brew install hub
luego
hub pull-request [-focp] [-b <BASE>] [-h <HEAD>]
git request-pull
línea. Sí, eso tiene sentido, pero me sorprende que git no tenga un comando para enviar solicitudes de extracción por correo electrónico como lo hace github. Después de todo, el git config user.email
está disponible para ello. Especialmente con un comando llamado pull-request
.
github-cli
ya no está disponible después de Precise ... He abierto una pregunta para pedir una alternativa.
Terminé haciendo la mía , descubrí que funciona mejor con las otras soluciones que existían.
Creé una herramienta recientemente que hace exactamente lo que quieres:
https://github.com/jd/git-pull-request
Automatiza todo en un solo comando, bifurca el repositorio, empuja el PR, etc. ¡También admite actualizar el PR si necesita editarlo / arreglarlo!
Estoy usando un alias simple para crear una solicitud de extracción,
alias pr='open -n -a "Google Chrome" --args "https://github.com/user/repo/compare/pre-master...nawarkhede:$(git_current_branch)\?expand\=1"'
Además de github/hub
, que actúa como un proxy para Git , ahora (febrero de 2020) tiene cli/cli
:
Consulte " Supercargue su experiencia de línea de comandos: la CLI de GitHub ahora está en beta "
Crear una solicitud de extracción
Cree una rama, realice varias confirmaciones para corregir el error descrito en el problema y use gh para crear una solicitud de extracción para compartir su contribución.
Al usar la CLI de GitHub para crear solicitudes de extracción, también crea automáticamente una bifurcación cuando aún no tiene una, y empuja su rama y crea su solicitud de extracción para fusionar su cambio.
Y en abril de 2020: "La CLI de GitHub ahora admite solicitudes de extracción de llenado automático y configuración personalizada "
GitHub CLI 0.7 está disponible con varias de las mejoras más solicitadas de los comentarios que han proporcionado nuestros usuarios beta.
Desde la última versión menor, 0.6, hay tres características principales:
- Configure
gh
para usar su editor preferido congh config set editor [editor]
.- Configure
gh
por defecto a SSH congh config set git_protocol ssh
.
El protocolo predeterminado de Git es HTTPS.- Rellene automáticamente el título y el cuerpo de una solicitud de extracción de sus confirmaciones con
gh pr create --fill
.
Entonces:
gh pr create --fill
He usado esta herramienta antes, aunque parece que primero debe haber un problema abierto, es muy útil y realmente optimiza el flujo de trabajo si usa el seguimiento de problemas de github. git open-pull y luego se envía una solicitud de extracción desde cualquier rama en la que se encuentre o seleccione. https://github.com/jehiah/git-open-pull
EDITAR: Parece que puede crear problemas sobre la marcha, por lo que esta herramienta es una buena solución.