2015-04-06 13 views
5

Abbiamo un repository git ospitato su un'unità di rete condivisa accessibile da più colleghi. Chiamerò questo il "Repository centrale". I dipendenti clonano questo repository sulle loro macchine locali, apportano modifiche, quindi eseguono il backup delle modifiche.stato git aggiornato con il telecomando anche se non è

Abbiamo notato che se qualcuno invia una modifica all'archivio centrale, i repository git locali di altri dipendenti non indicano che non sono sincronizzati. git status dice

On branch master 
Your branch is up-to-date with 'origin/master'. 

nothing to commit, working directory clean 

Ma è chiaramente non up-to-date. Ci sono cambiamenti sul telecomando ma Git non li sta percependo. Puoi fare un git pull e scarica immediatamente le modifiche sul repository locale anche se ha affermato che era già aggiornato.

Perché sta succedendo? È perché il repository centrale è ospitato su un'unità di rete condivisa? E forse git è per qualsiasi ragione non in grado di dire se è fuori sincrono? Anche l'uso di una GUI come Git Tower non fa la differenza. Anche premendo "Aggiorna" nella GUI non viene indicato che è fuori sincrono. Inoltre, il ramo principale locale sta monitorando origin/master.

C'è qualcosa che può essere fatto per risolvere questo problema?

risposta

11

È necessario chiamare git fetch per ottenere gli aggiornamenti dal repository remoto al repository locale, ma senza modificare la posizione corrente del ramo. Dopo di che git status mostrerà risultati corretti.

Problemi correlati