2012-01-16 22 views
17

Alguien empujó una rama "nuevo" al repositorio compartido:¿Cómo comprar una sucursal remota en Git?

git push -u new_feature_branch 

Ahora, me gustaría crear una copia de esta rama en mi máquina local con el fin de probar la nueva función.

¿Cuál sería la forma más fácil de hacer esto? (¿Es necesario fetch/pull antes checkout?)

+0

Se puede duplicar. http://stackoverflow.com/questions/1783405/checkout-remote-git-branch –

+2

Posible duplicado de [¿Cómo puedo consultar una sucursal remota de Git?] (https://stackoverflow.com/questions/1783405/how- do-i-check-out-a-remote-git-branch) – SudoRahul

Respuesta

26

Por lo general, me resulta innecesario usar git fetch. git pull es suficiente. git pull sincronizará su repositorio con el control remoto. El new_feature_branch estará entonces disponible.

git checkout new_feature_branch notará la rama en origen y creará una nueva rama de seguimiento local para usted y cambiará a esa rama.

git pull 
git checkout new_feature_branch 
+1

git pull == git fetch + git merge –

11

Es necesario para traer cambios aguas arriba para que su repositorio local incluye los objetos relevantes (git fetch --all o git fetch <remote>).

A continuación, puede realizar un pago utilizando git checkout <branch> (si desea hacerlo explícitamente, puede escribir git checkout -b <branch> <remote>/<branch>; el nombre local no tiene que ser el mismo que el control remoto). Si aún no tiene una sucursal local de ese nombre, se transferirá a la sucursal remota y lo rastreará.

Como alternativa a esto, puede usar git pull <remote> <branch>, pero esto - con la configuración predeterminada - fusionará la rama remota en su actual, que probablemente no sea la que desea.

+0

Me pregunto por qué esta respuesta dice que DEBES usar 'fetch --all' y la respuesta superior solo menciona' fetch'. ¿Cuál es? –

+1

@PetriSirkkala La respuesta no dice que deba usar '--all'. 'fetch --all' dice buscar todos los controles remotos (si tiene más de, por ejemplo,' origen'). –

15

La forma más sencilla de hacer esto es:

git fetch 
git checkout -t origin/new_feature_branch 

Esto sólo se hace inicialmente. A partir de ahora puede continuar trabajando con la sucursal como lo hace con los demás que usa.

1
git fetch && git checkout new_feature_branch 
+0

puede por favor ver esta pregunta si tiene tiempo. http://stackoverflow.com/questions/20634111/magento-error-when-disable-module –

Cuestiones relacionadas