Tengo un repositorio en github con una rama principal (maestra) y una rama para algún trabajo experimental. Hice algunas confirmaciones y empujé a la rama experimental y todo estuvo bien.
Ahora, en una máquina diferente, trato de clonar mi repositorio (git clone repository ) y luego cambio a la rama experimental (git checkout branchname ) pero cada vez que hago esto, mi cabeza se desprende y no puedo presionar mis cambios. ¿Qué estoy haciendo mal? Tengo la sensación de que me estoy perdiendo un concepto fundamental de git en algún lugar, pero leer páginas aleatorias de git man no me da ninguna pista.
Soy nuevo en git, así que lo siento si soy un idiota, pero no puedo encontrar nada en los documentos que me ayude a volver a unir mi cabeza.
EDITAR
El concepto de rama de seguimiento es lo que me faltaba. Ahora que asimilo ese concepto, todo está claro. Personalmente, encuentro que la git branch --track
sintaxis es mucho más intuitiva que git checkout -b branch-name origin/branch-name
.
¡Gracias por la ayuda!
fuente
git switch
: vea mi respuesta a continuación .Respuestas:
Para mayor comodidad, puede usar la misma cadena para localname y branchname.
Cuando realizó el check out
origin/branchname
, en realidad no estaba revisando una sucursal.origin/branchname
es un nombre "remoto" y puedes obtener una lista conSi tiene los colores habilitados, las sucursales locales serán de un color y las remotas de otro.
Primero debe hacer un seguimiento local de una sucursal remota para poder cambiar y trabajar en ella.
fuente
git config --global --add color.ui true
Ahora crea una rama de seguimiento:
Luego, después de trabajar allí, simplemente presione a github por
fuente
Para ampliar la respuesta de Kent, después de hacer su clonación, la única rama que tendrá (los controles remotos no cuentan) es la que estaba activa en el repositorio desde el que clonó, maestra en su caso.
Entonces, primero querrá crear una nueva rama para rastrear la rama experimental remota:
y luego compruébalo:
Sin embargo, Kent tiene razón: estos dos comandos se pueden combinar
fuente
Con Git 2.23 (agosto de 2019), usaría el
git switch
comandoSi tiene una sucursal remota con el mismo nombre, se rastreará automáticamente:
fuente