log - git status example
¿Por qué el "estado de git" no muestra las confirmaciones no presionadas en una rama? (1)
Todo está en el título ...
Leí esta pregunta: Visualización de compromisos de Git sin apilar
Pero no entiendo por qué el git status
muestra todas las confirmaciones no presionadas en la rama maestra, pero no muestra nada en otras ramas.
¿Alguien puede explicarlo?
EDITAR
Aquí está lo que comandos y salidas hice / obtuve:
aurelien@server:/home/repo/$ git branch
new_feature
* master
aurelien@server:/home/repo/$ git checkout new_feature
Switched to branch ''new_feature''
aurelien@server:/home/repo/$ echo test > newfile.txt
aurelien@server:/home/repo/$ git add newfile.txt
aurelien@server:/home/repo/$ git commit -m "Test commit"
[new_feature 51c6a64] Test commit
1 file added
aurelien@server:/home/repo/$ git status
# On branch new_feature
nothing added to commit
¿Por qué no aparece mi confirmación al usar git status
?
La razón es que su sucursal maestra en realidad tiene una sucursal remota, en origen / maestro que su sucursal ha sido configurada para rastrear.
Lo que esto significa es que cada vez que realice un compromiso para dominar, y luego haga un git status
git le dirá qué compromisos son diferentes entre su sucursal local y la sucursal remota.
Cuando creas una nueva rama, no hay una rama remota correspondiente de manera predeterminada. Puedes ver esto haciendo git branch -a
. que le mostrará todas las ramas remotas que están configuradas.
Así que hay dos cosas en juego:
1) No tiene una sucursal remota para su sucursal local 2) Su sucursal no está configurada para rastrear los cambios desde la sucursal remota
Una forma sencilla de crear una sucursal remota y configurar el seguimiento de su sucursal local es empujar la sucursal local a una sucursal remota:
git checkout new_feature
git push -u origin new_feature
Normalmente, cuando solo presionas sin el interruptor -u
, no se configurará el seguimiento, pero tu rama seguirá siendo presionada. Pero cuando pasa el modificador -u
, le dirá a git que también desea configurar su sucursal para realizar un seguimiento de los cambios desde la rama remota.
Después de hacer esto y luego hacer cambios y confirmarlos, luego haga un git status
y obtendrá el resultado esperado de "Su sucursal es un jefe de origen / nueva_featura por 1 confirmación"