comandos - Git cambio de rama cuando el archivo del mismo nombre está presente
git pull (3)
Como lo ilustra el commit a047faf (git 1.8.4.3+), también puedes probar:
git checkout xyz --
Eso dejaría en claro que la parte xyz
es una rama o confirmación, mientras que todo después debe ser una ruta (aquí no se proporciona una ruta). Ver más aquí en la convención de doble guión .
Si lo intenta sin el '' --
'', eso podría o no funcionar, como se muestra en " ¿Por qué git checkout <remote_branchname>
no crea una nueva rama de seguimiento? "
git checkout name
hace:
- si es una rama local o una rama remota explícita, cámbiela.
- Si es un camino seguido, restablézcalo
- si es una rama remota, cree una rama de seguimiento y cámbiela.
Y su comportamiento no es siempre el mismo. De ahí el '' --
'' para proporcionar una clara desambiguación.
Tengo en mi repositorio git, un archivo llamado xyz. Coincidentemente, también tengo una rama llamada xyz. Actualmente estoy en maestro, pero quiero pagar para ramificar xyz. El comando a utilizar es simple.
$ git checkout xyz
Pero esto llevaría el archivo xyz al HEAD actual. ¿Cómo cambiaría mi rama a rama xyz?
Si bien la solución de VonC funciona, nunca puedo recordar la sintaxis, por lo que normalmente uso una solución de baja tecnología:
$ (cd somedir && git checkout my-branch)
O, si no tienes ningún subdirectorio:
$ (cd .git && git -C .. checkout my-branch)
Es más fácil de recordar y funciona ;-)
Te equivocas. Se comprueba la rama xyz.
Para registrar un archivo, necesita usar el comando git checkout -- xyz
. Git solo le permite un acceso directo a los archivos si no hay ninguna rama con el mismo nombre.
Ver git checkout --help
para más detalles.