De vez en cuando me encuentro con este problema.
Digamos que hice lo siguiente para leer el código fuente de rieles porque me encuentro con algunos problemas.
git clone git://github.com/rails/rails.git
Durante la investigación probé algo y ahora tengo una solución que me gustaría que el equipo central de Rails le diera un vistazo. ¿Cómo envío mis cambios a una versión bifurcada de rieles?
Recuerde que cuando cloné, no cloné una versión bifurcada sino una versión de solo lectura.
No es que me oponga a la bifurcación. Es solo que a veces creo que solo voy a navegar y luego quiero agregar algo.
git
github
git-push
git-remote
Nick Vanderbilt
fuente
fuente
Respuestas:
Cuando clona un repositorio, automáticamente configura una llamada remota
origin
que se refiere al repositorio que ha clonado. Esto ahora apunta al proyecto Rails ascendente, pero lo que necesita es crear su propia bifurcación a la que pueda presionar, y luego configurar un control remoto que apunte allí para que pueda presionar.El primer paso es hacer clic en el botón "Bifurcación" en la página del proyecto de GitHub ascendente (imagen de las instrucciones de GitHub sobre la bifurcación ):
Una vez que haya hecho eso, busque y copie la URL de ese repositorio. Asegúrese de utilizar la URL SSH, que tiene acceso de lectura y escritura. Debería ser algo como
[email protected]:nadal/rails.git
, asumiendo que su nombre de usuario esnadal
.Ahora puede crear el control remoto, lo que permite a Git realizar un seguimiento de un repositorio remoto, extrayéndolo o empujándolo según el acceso que tenga. Puede optar por reemplazar
origin
con el que empujará (que es la cantidad de personas que lo tienen configurado), o dejarorigin
apuntando hacia arriba y en su lugar crear un nuevo control remoto. Mostraré cómo realizar la primera configuración; el segundo debería ser fácil de entender.Para cambiar
origin
para apuntar a su bifurcación en GitHub, probablemente querrá mantener la rama ascendente en algún lugar, así que cámbiele el nombre aupstream
:Ahora crea un nuevo control remoto apuntando a tu bifurcación:
Y ahora debería poder avanzar a su nueva bifurcación:
Una vez que esté satisfecho con los cambios que ha introducido en GitHub y le gustaría que alguien del equipo de Rails lo examinara, tiene dos opciones. Uno es enviar una solicitud de extracción usando GitHub; consulte los documentos allí para saber cómo hacerlo. Sin embargo, si solo tiene uno o unos pocos parches pequeños, el equipo de Rails preferirá que cree un ticket de Lighthouse y adjunte su parche; consulte las instrucciones sobre cómo contribuir a Rails para obtener más información.
editar Aquí hay un diagrama para indicar lo que está pasando. Lo que ha hecho es simplemente clonar el repositorio de rieles ascendentes; por lo que ahora usted tiene su propio repo en su propia máquina, que se refiere a
git://github.com/rails/rails.git
comoorigin
:Esto es lo que obtiene si bifurcó y luego clonó su bifurcación:
Si sigue mis instrucciones, esto es lo que obtendrá:
Que es como la versión que obtienes al bifurcar, excepto que también tiene un
upstream
control remoto para que puedas rastrear los cambios oficiales y fusionarlos en tu código (si has creado la versión bifurcada, probablemente querrías agregar elupstream
control remoto como bien).fuente
Una forma muy fácil de cambiar del modo clonado al bifurcado es usar el
hub
contenedor de http://hub.github.com/ .Cuando esté instalado, simplemente ejecute
desde dentro de su clon de solo lectura.
fuente
No debería importar. Puede agregar otro control remoto, especificando su repositorio no bifurcado, si así lo desea. Empuje sus cambios a eso.
fuente
O, si no quiere bifurcar, y dependiendo del equipo de mantenimiento, puede crear y enviarles un parche. En general, sin embargo, haría que su repositorio estuviera disponible ya sea bifurcando en github como se explica en otros comentarios, o en su propio repositorio de git y proporcione a los mantenedores del repositorio original la información de su repositorio y rama en la que desea que se fusionen.
fuente