/ / Cómo obtener / copiar limpiamente una rama remota de git en el repositorio local - git

Cómo obtener / copiar limpiamente una rama git remota al repositorio local - git

Quiero una "copia" exacta de una rama remota "copiada" a una rama local específica.

Digamos, por ejemplo, que un miembro del equipo ha creado una función experimental, que ha verificado en una rama llamada experiment en el repositorio remoto. Quiero poder pagar una nueva sucursal en mi repositorio local y "copiar" el experiment rama, tal cual, a mi rama recién retirada.

No quiero fusionarlo con mi código. Quiero sobrescribir completamente mi código para poder ver lo que ha hecho en la rama "experimento".

¿Cómo se "conseguiría" (buscar / extraer / lo que sea ...) una rama remota que otra persona ha comprometido con el repositorio remoto en su propio repositorio local, de una manera que no intente realizar una fusión en su propio código local?

Respuestas

76 para la respuesta № 1

Si no te importa fusionar:

git reset --hard <remote>/<branch_name>

Esto hará exactamente lo que desea: sin fusión, sin rebase, simplemente coloque la rama local exactamente en el mismo estado que el remoto.

Sin embargo, en su caso, no necesita eso. Desea crear un nuevo rama local que tiene el mismo estado que la remota, por lo tanto, especifique la rama remota al crear la local con git checkout:

git checkout -b <my_new_branch> <remote>/<branch_name>

Utilizarías git reset --hard si ya tiene una sucursal local (por ejemplo, con algunos cambios), descarte cualquier modificación que hecho y en su lugar tome la versión exacta de la rama remota.

Para asegurarse de que tiene el último estado de la rama remota, use git fetch <remote> antes de retirar o reiniciar.