2012-02-05 12 views
82

He bifurcado de un repositorio en GitHub. Quiero obtener el código de una bifurcación en el tenedor de otro usuario.¿Cómo busco una rama en el tenedor de otra persona en GitHub?

¿Debo clonar el repositorio completo de este usuario en un repositorio local por separado o puedo hacer algo como git checkout link_to_the_other_users_branch?

+1

que buscas un git "remotos": http://progit.org/book/ch2- 5.html – millimoose

Respuesta

146
$ git remote add theirusername [email protected]:theirusername/reponame.git 
$ git fetch theirusername 
$ git checkout -b mynamefortheirbranch theirusername/theirbranch 

Tenga en cuenta que hay varios URI "correctos" que puede usar para el control remoto cuando lo agrega en el primer paso.

  • [email protected]:theirusername/reponame.git es un URI
  • https://github.com/theirusername/reponame.git es un URI HTTP

Cuál prefiere utilizar dependerá de su situación basada en SSH: GitHub tiene un artículo de ayuda que explica la diferencia y ayudar a elija: Which remote URL should I use?

+0

¿Qué hace esa última línea? –

+2

La última línea verifica una nueva rama llamada 'mynamefortheirbranch' con su punto de inicio establecido en la cabeza de' theirusername/theirbranch'. –

+2

Me sale * Fatal: no puedo actualizar las rutas y cambiar a la rama 'xyz' al mismo tiempo. ¿Pretendía retirar 'xyz/xyz' que no se puede resolver como commit? * –

11

amalloy's suggestion no funcionó para mí. Esto hizo:

git remote add theirusername https://github.com/theirusernam/reponame 
git fetch theirusername 
git checkout -b mynamefortheirbranch theirusername/theirbranch 

Recursos:

+0

Creo que te falta un '.git' al final de tu primera línea. – TomNorway

+0

@TomNorway ¿Estás seguro? ¿No te funciona así? –

+0

@TomNorway Lo probé y funciona sin la extensión '.git'. ¿Usas GitHub? –

Cuestiones relacionadas