¿Cómo creo y / o envío una solicitud de extracción a otro repositorio alojado en GitHub?
git
github
pull-request
git-fork
Tim Peterson
fuente
fuente
Respuestas:
(Además de la página oficial " Ayuda de GitHub 'Uso de solicitudes de extracción' ",
consulte también " Bifurcación frente a bifurcación en GitHub ", " ¿Cuál es la diferencia entre el origen y el flujo ascendente en GitHub ")
Un par de consejos sobre solicitudes de extracción:
Suponiendo que primero haya bifurcado un repositorio , esto es lo que debe hacer en ese tenedor que posee:
master
donde pueda tener la tentación de acumular y mezclar varias modificaciones a la vez.origin/master
(asegurándose de que su parche siga funcionando) actualizará la solicitud de extracción automáticamente (no es necesario hacer clic en nada)git remote prune origin
). La GUI de GitHub le propondrá que elimine su sucursal en su página de solicitud de extracción.Nota: para escribir la solicitud de extracción en sí, consulte " Cómo escribir la solicitud de extracción perfecta " (enero de 2015, GitHub)
Marzo de 2016: nueva opción de botón de combinación de relaciones públicas: consulte "¿ Confirmaciones de squash de Github desde la interfaz web en la solicitud de extracción después de comentarios de revisión? ".
El mantenedor del repositorio puede elegir
merge --squash
esos compromisos de relaciones públicas.Después de una solicitud de extracción
En cuanto al último punto, desde el 10 de abril de 2013, " Botón de combinación rediseñado ", la rama se elimina por usted:
Eso confirma la mejor práctica de eliminar la rama después de fusionar una solicitud de extracción.
solicitud de extracción frente a solicitud de extracción
la solicitud de extracción no es un término oficial "git".
Git usa el
request-pull
comando (!) Para crear una solicitud de fusión:"resume los cambios entre dos confirmaciones a la salida estándar e incluye la URL dada en el resumen generado".
Github lanza su propia versión desde el primer día (febrero de 2008) , pero rediseñó esa característica en mayo de 2010 , afirmando que:
notas electrónicas para "repositorio" (sic)
<humour>
¡Esa (solicitud de extracción) ni siquiera está definida correctamente por GitHub!
Afortunadamente, una verdadera organización de noticias de negocios lo sabría, y hay una nota electrónica para reemplazar pull-replace por 'e-note' :
Así que si sus repos o toria necesita un e-nota ... pedir Fox Business . Ellos están en el saber.
</humour>
fuente
branch
vs.master
parece crítica para tomar la respuesta de mi / Github de una solución teórica a algo que uno realmente usaría.git pull --rebase upstream/master
está bien.Para aprender cómo hacer una solicitud de extracción, acabo de seguir dos páginas de ayuda separadas en Github (enlazadas a continuación como viñetas). Los siguientes comandos de línea de comando son para la Parte 1 . La parte 2 , la solicitud de extracción real, se realiza completamente en el sitio web de Github.
Parte 1 : bifurcar el repositorio de alguien: https://help.github.com/articles/fork-a-repo
git clone->cd dwolla-php->git remote->git fetch
secuencia anterior para clonar el tenedor en algún lugar de su computadora (es decir, "copiar / pegar", en este casothird_party TimPeterson$
:) y sincronizarlo con el repositorio maestro (Dwolla / dwolla-php)git add->git commit->git push
secuencia anterior para enviar sus cambios al repositorio remoto, es decir, su bifurcación en Github (tim-peterson / dwolla-php)Parte 2 : hacer solicitud de extracción: https://help.github.com/articles/using-pull-requests
fuente
Tims-MacBook-Pro:third_party TimPeterson$
porque este es un tutorial para principiantes y esas indicaciones ayudan a orientar al usuario.git fetch upstream
, ¿no necesita fusionar los cambios aguas arriba con su copia local, utilizandogit checkout master
entoncesgit merge upstream/master
?Para realizar una solicitud de extracción, debe realizar los siguientes pasos:
Me tomó un tiempo entender esto, espero que esto ayude a alguien.
fuente
Comencé un proyecto para ayudar a las personas a hacer su primera solicitud de extracción de GitHub. Puedes hacer el tutorial práctico para hacer tu primer PR aquí
El flujo de trabajo es simple como
git clone <clone url you copied earlier>
git checkout -b branch-name
git commit
git push origin branch-name
Compare and pull request
botónfuente
Para aquellos de nosotros que tenemos una cuenta de github.com, pero solo recibimos un mensaje de error desagradable cuando escribimos "git" en la línea de comandos, aquí está cómo hacerlo todo en su navegador :)
fuente
Seguí las instrucciones de tim peterson pero creé una rama local para mis cambios. Sin embargo, después de presionar, no estaba viendo la nueva sucursal en GitHub. La solución fue agregar -u al comando push:
fuente
tim-peterson
el segundo esDwolla
Escribí un programa bash que hace todo el trabajo de configurar una rama de relaciones públicas para usted. Realiza una bifurcación si es necesario, se sincroniza con el flujo ascendente, configura el control remoto ascendente, etc. y solo necesita confirmar sus modificaciones, enviar y enviar un RP.
Así es como lo ejecutas:
Encontrará el programa aquí y su repositorio también incluye una guía paso a paso para realizar el mismo proceso manualmente si desea comprender cómo funciona, y también información adicional sobre cómo mantener su rama de características actualizada. fecha con el maestro ascendente y otros tidbits útiles.
fuente
La solicitud de extracción de GitHub más simple es de la interfaz web sin usar git.
Haz clic en el ícono de lápiz ,
busque texto cerca de la ubicación, realice las ediciones que desee y luego obtenga una vista previa para confirmar. Dele al cambio propuesto una descripción de hasta 50 caracteres y, opcionalmente, una descripción extendida, luego haga clic en el botón Proponer cambio de archivo .
Si está leyendo esto, no tendrá acceso de escritura al repositorio (carpetas de proyectos), por lo que GitHub creará una copia del repositorio (en realidad una rama) en su cuenta. Haga clic en el botón Crear solicitud de extracción .
fuente