Differenze tra Commit, Commit e Push, Commit e Sync


149

Sto usando Visual Studio 2013 e mi trovo di fronte a 3 opzioni per quando commetto il mio codice C #. Ho bisogno di una spiegazione delle differenze tra ciascuna delle opzioni rispetto a ciò che accade al mio repository locale rispetto al repository GitHub.

  • L'opzione 1 dice Commit
  • L'opzione 2 dice Commit and Push
  • L'opzione 3 dice Commit and Sync

Non capisco bene la differenza tra le ultime 2 opzioni. Quando dovrei usare Commit and Sync invece di Commit and Push?

Risposte:


216
  1. Commit semplicemente registrerà le modifiche che hai apportato sul tuo computer locale. Non segnerà la modifica nel repository remoto.
  2. Commit and Push farà quanto sopra e lo spingerà nel repository remoto. Ciò significa che tutte le modifiche apportate verranno salvate anche nel repository remoto.
  3. Commit and Sync fa tre cose. Innanzitutto, si impegnerà. In secondo luogo, eseguirà un pull (prende le informazioni aggiornate dal repository remoto). Alla fine, spingerà.

Vedi di più da Microsoft qui


Davvero non capisco "Commit and Sync" In primo luogo, si impegnerà. In secondo luogo, eseguirà un pull Infine, spingerà. Perché il push richiesto qui quando le modifiche al codice sono già impegnate nel repository remoto (Nessuna modifica al push).
Bhuwan Pandey,

6
@BhuwanPandey L'esecuzione di un "commit" non include una "push". Sono separati. Solo una "push" aggiornerà il commit nel repository remoto. Vedi l'immagine nell'altra risposta per vederlo. Il "commit" va dall'indice al repository locale, mentre "push" termina passando dal repository locale al repository remoto
camiblanch,

L'operazione di sincronizzazione può causare conflitti quando più utenti lavorano simultaneamente nell'applicazione?
Murali Dhar Darshan,

Sto usando Visual Studio 2017 e il comando Commit and Sync non invia completamente le modifiche. Sto dicendo che, poiché eseguendo una sincronizzazione, le mie modifiche vengono visualizzate nella scheda Cronologia di Visual Studio, ma sul sito Github non viene visualizzato. Ho dovuto eseguire un comando Push dopo Commig e Sync, quindi le mie modifiche sono apparse sul sito Github.
Fabiano,

Penso che la confusione provenga dal pensiero che Commit invia i file al repository remoto. Infatti Commit registra semplicemente le tue modifiche con il repository locale. Senza Push non colpisce mai il server.
Alan Baljeu,

72

Da aggiungere alla risposta di camieblanch. Ho trovato questa immagine / post utile da tanascius ( qui ). "Ecco una bella foto di Oliver Steele, che spiega il modello git e i comandi:" inserisci qui la descrizione dell'immagine


1
Ma dov'è Sync in questa immagine?
Alan Baljeu,

2
Non esiste nella foto. Se fai riferimento alla risposta di "camiblanch". Viene eseguito il commit nel repository locale, viene tirato per sincronizzare (unire) il repository remoto con il repository locale e quindi invia il repository locale unito al repository remoto.
A.sharif

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.