Me gustaría contribuir a cierto proyecto en GitHub . ¿Debería bifurcarlo ? Ramificarlo ? ¿Qué se recomienda y cómo hacerlo?
Me gustaría contribuir a cierto proyecto en GitHub . ¿Debería bifurcarlo ? Ramificarlo ? ¿Qué se recomienda y cómo hacerlo?
Respuestas:
Idealmente usted:
Si se trata de una nueva solicitud de función, no inicie la codificación primero. Recuerde publicar un problema para discutir la nueva característica.
Si la función se discute bien y hay algunos +1 o el propietario del proyecto la aprobó, asígnele el problema a usted mismo y luego siga los pasos anteriores.
Algunos proyectos no utilizarán el sistema de solicitud de extracción. Consulte con el autor o la lista de correo sobre la mejor manera de recuperar su código en el proyecto.
Para agregar a la respuesta de Yann , una vez que haya bifurcado un proyecto, puede desarrollarlo en cualquier rama que desee (una nueva o una del proyecto original)
Recuerda:
origin
', ya origin
que sería su propio repositorio, resultado de la bifurcación)git checkout master;
git pull;
mismo para desarrollar (donde mi rama de características se fusionó primero) La diferencia que puedo pensar de, después de leer "pull vs pull --rebase" y "merge vs rebase" es solo el historial plano. ¿Algo más más profundo?
Para agregar a las respuestas de Yan y VonC, este es un buen recurso de los propios github: http://help.github.com/forking/
También asegúrese de buscar en la barra lateral derecha debajo del encabezado "colaborar".
Hay un gran video Railscast aquí que te guía a través del proceso. También tiene una serie de buenos consejos, como mostrar cómo determinar en qué rama es posible que desee trabajar al contribuir, usar pruebas, submódulos, etc.
Si bien este screencast se centra principalmente en los desarrolladores de Rails, la mayor parte de la información es válida para contribuir a cualquier proyecto de código abierto.
Github tiene muchas formas de colaborar en un proyecto. El modelo que más utiliza el proyecto es un modelo de solicitud de extracción. 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 push origin branch-name
Compare and pull request
botónlornajane tiene una publicación de blog que explica bien el proceso: http://www.lornajane.net/posts/2010/contributing-to-projects-on-github
Sugeriría el siguiente flujo de trabajo:
Clonar (en la línea de comando)
git clone <url-from-your-workspace>
Ingrese el directorio que acaba de crear y cree una rama
cd <directory>
git checkout -b <branchname>
Ahora haz tus cambios
Puede crear una o más confirmaciones después de cada cambio:
commit -a
Cuando termine, empuje sus cambios
git push origin <branch>
En su línea de comando, debería ver una URL para crear el RP . Visite la URL y haga clic en el botón para crear un RP.
De lo contrario, visite el repositorio en el navegador y le ofrecerá un botón para crear la solicitud de extracción
Eso es.
Entonces, básicamente, bifurcaste el repositorio a tu espacio de trabajo, creaste una nueva rama y presionaste esa nueva rama.
Si luego realiza más PR desde el mismo repositorio clonado, debe sincronizar (obtener los últimos cambios del repositorio original) antes de crear otra rama para otro PR:
git checkout master
git remote add upstream <url-of-original-repo>
git pull upstream master
Estas sugerencias están aquí para salvarlo de la molestia de poner trabajo en un RP que no se fusionará. Si hay actividad en el proyecto y las relaciones públicas se fusionan, esta es una buena señal. Si hay pautas de contribución, sígalas.
Siempre se cortés. Recuerde, los encargados del proyecto no están obligados de ninguna manera a fusionar su RP. ¿Tienes algo valioso para agregar al proyecto?