Più repository, presenti su macchine diverse,
possono condividere lo stesso progetto.
Git fornisce gli strumenti per mantenere
questi repository sincronizzati tra loro.
Anche se possibile, la sincronizzazione diretta
tra due personal computer non è generalmente utilizzata
Solitamente si fa affidamento a uno o più
hosting di repositories per fare da nodi comuni
tra più personal computer
Prima di procedere al passaggio di dati
tra repository è necessario dire a git
come può raggiungere il repository remoto
git remote add origin https://gitlab.org/path/repository.git
N.B. git per scambiare informazioni tra repository supporta sia https che ssh
Ma cosa è cambiato?
git remote -v
origin https://gitlab.org/path/repository.git (fetch)
origin https://gitlab.org/path/repository.git (push)
Sono stati creati due riferimenti
ad un repository remoto (soprannominato da me “origin”),
uno per inviare i commit (push) e uno per riceverli (fetch)
git push origin master
Git invierà i commit del branch master al repository
remoto chiamato origin che cercherà di effettuare
il merging con il proprio repository
git pull origin master
Git proverà a scaricare i commit del branch master
dal repository remoto chiamato origin ed ad effettuare
il merging con la nostra storia locale
Indovinate un po'...
...bisogna correggerlo a manina!In maniera molto simile a come abbiamo visto
nella sezione dei branch
Anche nel caso di un'operazione di push
saremmo noi a dover risolvere il conflitto
Dovremo effettuare un'operazione di pull,
risolvere il conflitto e poi ri-effettuare l'operazione di push