Come può effettivamente accadere?
Al momento sto lavorando in un repository da solo, quindi questo è il mio flusso di lavoro:
- Cambia file
- Commettere
- Ripeti 1-2 fino a quando non sei soddisfatto
- Spingere per padroneggiare
Quindi quando faccio un git status
mi dice che il mio ramo è in vantaggio con X commit (presumibilmente lo stesso numero di commit che ho fatto). È perché quando si spinge il codice in realtà non aggiorna i file memorizzati nella cache locale (nelle cartelle .git)? git pull
sembra "riparare" questo strano messaggio, ma sono ancora curioso di sapere perché succede, forse sto usando git sbagliato?
incluso quale ramo è stampato nel messaggio
La mia filiale locale è davanti al maestro
dove spingi / tira il ramo corrente
Sto spingendo su GitHub e tirando su qualsiasi computer su cui mi capita di lavorare in quel momento, la mia copia locale è sempre completamente aggiornata poiché sono l'unico che ci sta lavorando.
in realtà non controlla il repository remoto
Questo è quello che pensavo, immaginavo che mi sarei assicurato che la mia comprensione fosse corretta.
stai passando qualche argomento in più ad esso?
Non quelli che riesco a vedere, forse c'è qualche configurazione divertente in corso da parte mia?
$ git status
# On branch master
# Your branch is ahead of 'origin/master' by 1 commit.
#
nothing to commit (working directory clean)
git status
se non controlla il repository remoto, lo git pull
fa. Se si dispone di una diramazione di tracciamento per un repository a cui si git push
esegue il push, si aggiornerà la diramazione di localizzazione locale in modo da riflettere il nuovo stato della diramazione remota se la trasmissione ha esito positivo. Questo è il motivo per cui ho chiesto informazioni sulla configurazione del richiedente perché se non sta accadendo correttamente c'è probabilmente un errore di configurazione.
git status
? veramente? il mio git status
non mi dice mai quanto è avanti il mio ramo .. ci stai passando qualche argomento in più?
git status
non va al repository remoto per verificare se il ramo remoto è stato aggiornato. Ti dice in che misura la tua filiale locale viene confrontata con la filiale di localizzazione remota memorizzata localmente . Il problema è che un normale git push
(oltre a prendere e tirare) dovrebbe aggiornare il ramo di tracciamento remoto e per il richiedente questo sembra non funzionare. Per capire perché dobbiamo vedere sia la forma esatta di git push
ciò che viene utilizzata sia la configurazione del repository locale, ma poiché il richiedente ha già accettato una risposta, non riesco a vederlo accadere ora.
push
e quali sono le tue impostazioni di configurazione remota e branch?