Git definerer en versjonskontrollprosess for hvordan prosjekter skal deles. Det finnes mange nettsteder som lar deg være vert for Git-prosjektene dine. GitHub er det mest populære alternativet, Bitbucket er et annet populært alternativ, begge tillater gratis kontoer som kan opprette ubegrensede offentlige eller private depoter. GitLab tilbyr et selvdrevet alternativ som tillater privat utvikling uten å stole på tredjeparts hosting.
Prosessen for å først laste ned et Git-depot kalles kloning. Kloning inkluderer all informasjon om depotet på det tidspunktet, men for å holde depotet oppdatert over tid må du trekke ned nye versjoner. For å gjøre det, åpne et terminalvindu i katalogen med den lokale versjonen av depotet og skriv inn kommandoen "git pull".
Betjeningen av denne kommandoen er spesielt enkel hvis du bare vil laste ned en oppdatert versjon av depotet; den lokale versjonen vil bli oppdatert for å matche den eksterne versjonen. Du kan imidlertid se at det kan være problemer hvis du har gjort endringer i din lokale versjon.
Kommandoen "git pull" kjører faktisk to separate kommandoer "git fetch" og "git merge FETCH HEAD". Underkommandoen "git fetch" trekker spesifikt ned den nyeste versjonen fra online-depotet og lagrer den midlertidig. Underkommandoen "git merge FETCH HEAD" slår deretter sammen de lokale endringene dine med den nedlastede versjonen, med nyere forpliktelser som foretrekkes.
Tips: En "git commit" er en innsending av en endring, det er mulig å ha flere lokale og eksterne commits som gjør det samme eller forskjellige ting. Lokale forpliktelser er ikke synlige for den eksterne versjonen før endringene er presset. Hver commit viser nøyaktig hvilke endringer som ble gjort og inkluderer et tidsstempel.
Konflikter mellom lokale og eksterne versjoner
Ideelt sett i et sammenslåingsscenario vil det ikke være noen konflikter, og sammenslåingsprosessen vil fullføres automatisk. Sammenslåinger kan være spesielt enkle hvis få endringer ble gjort, eller hvis lokale endringer ikke forstyrrer eventuelle eksterne endringer. Hvis det derimot er motstridende komplekse endringer i den samme delen av koden, vil Git gi en sammenslåingsfeil.
På dette tidspunktet kan du enten avbryte sammenslåingen med kommandoen "git merge -abort" eller prøve å løse konfliktene manuelt. Kommandoene "git mergetool" og "git diff" gir et grafisk eksempel på forskjellene som bør hjelpe for å gjøre det så enkelt som mulig å se hvilke endringer som må brukes manuelt for å tillate sammenslåingen fullstendig. Når du har løst alle konfliktene, skriv inn kommandoen "git merge -continue" for å fullføre sammenslåingen.