2011-02-08 13 views
26

Digamos que un repositorio de la que clone (y sólo de sólo lectura para mí) es:actualización del proyecto en forma de horquilla en GitHub

[email protected]:secret_project/dev.git branch: dev 

I bifurcada proyecto y la URL:

[email protected]:secret_user/Dde.git 

(¿Qué me tener acceso completo a: leer + escribir)

Pero alguien actualizó [email protected]:secret_project/dev.git desde otra versión bifurcada.

Digamos archivo cambiado en

[email protected]:secret_project/dev.git (test.txt) 
content: 
hi! 

Pero mi proyecto en forma de horquilla tiene test.txt archivo con contenido:

hi 

Entonces, ¿cómo puedo actualizar el proyecto en forma de horquilla localmente y en mi repositorio?

¿Qué comandos debo usar? Y por favor, hacer un ejemplo con mis repositorios mostraron ...

+0

posible duplicado de [Cómo actualizar GitHub bifurcó repositorio?] (http://stackoverflow.com/questions/7 244321/how-to-update-github-forked-repository) – kapa

+2

@kapa: '¿Cómo actualizar el depósito bifurcado de GitHub?' Es más nuevo que esta publicación ... – mpromonet

Respuesta

20

se debe añadir la dirección remota para el repositorio original upstream 'a su repositorio local (que es un clon de su Dde.git tenedor):

git remote add upstream git://github.com/secret_project/dev.git # public read-only URL 

Eso le permitirá extraer 'upstream' en su propia sucursal (fusionando y resolviendo cualquier conflicto de combinación en test.txt).
Luego empujará su sucursal local a su repositorio de Dde GitHub.

Consulte GitHub help page: "Working with remotes" para obtener más información.

+1

Si lo llamas 'upstream' - entonces, escribe' git remote agregar upstream' en lugar de 'git remote add dev' - podrá seguir [documentación de GitHub" Sincronización de un fork "] (https://help.github.com/articles/syncing-a-fork/).También te mantendrás más claro sobre qué desarrollo es tuyo y qué se hizo, bueno, aguas arriba. – fureigh

+1

@fureigh Gracias. Normalmente lo hago en respuestas posteriores (como http://stackoverflow.com/a/9257901/6309), pero aparentemente no tenía esa práctica hace más de 5 años. He editado la respuesta en consecuencia. – VonC

+0

Gracias por actualizar la respuesta! (También, en retrospectiva, noto que mi tono podría haber sido tan sarcástico, sin duda no fue así, así que si salió de esa manera, mis disculpas.) – fureigh

1

Simplemente envíe una solicitud de extracción desde la página GitHub de su repositorio a su repositorio principal. Luego, extraiga los cambios en su repositorio bifurcado local y comprométase y envíe una nueva solicitud de extracción.

-1

Los pasos que aquí se moverán a su tenedor a cometer el mismo como el repositorio padre:

  1. Cambie el directorio a su repositorio local. Cambiar a rama principal si no está, y escribe esta git checkout master
  2. Añadir al padre como un repositorio remoto, git remote add upstream <repo-location>
  3. Edición git fetch upstream
  4. Edición git rebase upstream/master En esta etapa se comprueba que compromete lo que se fusionó escribiendo git status
  5. Edición git push origin master
+1

Parece una copia casi pegada de esta [otra respuesta ] (/ a/31836086/1178314) a esta [pregunta doble] (/ q/7244321/1178314). En tal caso, debe dar crédito a la respuesta original. –

Cuestiones relacionadas