Sto imparando a lavorare con i telecomandi Git leggendo il relevant section of the Pro Git Book.Perché git log non mostra nulla di nuovo dopo git fetch?
Se si clona un repository, il comando aggiunge automaticamente tale repository remoto sotto il nome "origine". Quindi, git fetch origin
recupera qualsiasi nuovo lavoro che è stato inviato a quel server da quando è stato clonato (o è stato scaricato da esso).
È importante notare che il comando git fetch
solo recupera i dati nel repository locale; non lo fonde automaticamente con nessuno dei tuoi lavori o modifica ciò che stai attualmente lavorando. Devi unirlo manualmente al tuo lavoro quando sei pronto.
Ecco cosa ho provato. Ho clonato un repository e modificato un file. Nel repository originale, qualcuno ha aggiornato lo stesso file e inviato. Poi,
ho corse
git fetch
. Ha mostrato un messaggio di avanzamento dell'aggiornamento. Tuttavia,git log
non ha mostrato tale aggiornamento. Ho frainteso cosa fagit fetch
? Mi sto perdendo qualcosa?ho corse
git pull
, e ho avuto
error: Your local changes to 'hello_world.c' would be overwritten by merge. Aborting. Please, commit your changes or stash them before you can merge.
Ecco, io credo che è anche la fusione e per evitare la perdita accidentale dei dati, si interrompe.
Modifica: Grazie per le risposte. In realtà prima di guardare le risposte, io cercavo e sono reso conto lo stesso con i seguenti comandi/uscite:
$ git ls-remote origin
d0006a6bfa95e0e90aa820a0e50d31a548625652 HEAD
d0006a6bfa95e0e90aa820a0e50d31a548625652 refs/heads/master
$ git ls-remote .
14375458b8a6b84f82d9fa4d2ded0bb8c9e87431 HEAD
14375458b8a6b84f82d9fa4d2ded0bb8c9e87431 refs/heads/master
d0006a6bfa95e0e90aa820a0e50d31a548625652 refs/remotes/origin/HEAD
d0006a6bfa95e0e90aa820a0e50d31a548625652 refs/remotes/origin/master
anche con i seguenti comandi:
$git log origin --oneline
$git log --oneline
Grazie per cuscinetti con le mie domande stupide; -)
* [...] il comando git fetch estrae i dati nel repository locale [...] * Attento con il termine "pull"; ha un significato molto specifico in Git e usarlo nel modo in cui lo fai non può che creare confusione. – Jubobs