Als je een Linux-gebruiker bent, ben je Git op een gegeven moment tegengekomen, misschien tijdens het proberen een nieuw programma te downloaden of te kijken naar versiecontrolesystemen zoals CVS of Subversion. Git is het revisiecontrolesysteem dat is gemaakt door de beroemde Linux Linus Torvalds vanwege een gebrek aan tevredenheid over bestaande oplossingen. De nadruk in het ontwerp lag op snelheid, of meer specifiek, efficiëntie. Git lost veel van de tekortkomingen van eerdere systemen op, en doet het allemaal in veel minder tijd.

Wat Git doet

Laten we zeggen dat u werkt aan het maken van een website voor een klant. Ze geven aan wat ze willen, je ontwerpt het, ze beoordelen het en maken herzieningen, spoelen, herhalen. Bij elke reeks revisies van de klant verandert de site en groeit deze. Later kan de klant zeggen: "Ik vind het leuker zoals het er in september uitzag". Onder normale omstandigheden heb je een probleem. Mogelijk hebt u niet alle bestanden en gegevens uit die tijd en is uw code mogelijk zo veranderd dat terugdraaien moeilijk of onmogelijk zou zijn.

Het doel van een revisiebesturingssysteem is om bijna alle problemen in de bovenstaande alinea op te lossen. U kunt elke wijziging in uw code en bestanden volgen en op elk gewenst moment terugkeren naar waar de dingen zich bevonden.

Hoe Git werkt

De map van elk project is zijn eigen Git-repository. U bewaart al uw bestanden voor dat project in die map en vertelt Git periodiek aan Git om zijn informatie bij te werken met de huidige status van de bestanden. Dat proces om Git te vertellen om de staat te registreren is een commit . Elke keer dat je commit (wat vaak zou moeten zijn) kijkt Git naar alle bestanden waarvan is opgedragen om het bij te houden, en slaat het de verschillen in die bestanden (niet alle nieuwe bestanden) op naar de .git-map. Elke commit wordt een nieuw opslagpunt voor de ontwikkeling van uw project.

Optioneel kun je je lokale git repository naar een externe host duwen, zoals GitHub.com . Dit stelt meerdere bijdragers aan een project in staat om frequente, snelle commits te maken naar hun lokale repo en vervolgens al die lokale commits te bundelen in een enkele update van de online repository. Dit is een van de dingen waardoor Git sneller te gebruiken is dan sommige andere VCS-systemen: je kunt veelvuldig committen naar je lokale repository zonder tijd te verspillen en bandbreedte moet elke keer naar een server worden geüpload.

Git krijgen

De meeste Linux-gebruikers moeten Git (of git-core ) beschikbaar hebben in de standaard repositories van hun distro. Ubuntu-gebruikers kunnen het installeren door hier te klikken of in de terminal:

 sudo apt-get install git-core 

Als u zich op een ander platform bevindt of anderszins dergelijke opslagplaatsen niet kunt gebruiken, kunt u hier pakketten downloaden en handmatig installeren. Onze voorbeelden zijn bedoeld voor Linux, maar moeten identiek zijn voor alle platforms die worden ondersteund door Git.

Git gebruiken

Het proces om een ​​lokale Git-repository te maken, is snel en eenvoudig. Maak een map die u voor uw project wilt gebruiken en open uw terminal naar die locatie. Typ de opdracht op de opdrachtregel

 git init 

Hiermee wordt de .git-map gemaakt om uw repository-informatie te bewaren. Waarschijnlijk wilt u beginnen met het toevoegen van enkele bestanden. We beginnen met het maken van een voorbeeld README-bestand, het toe te voegen aan de lijst met bestanden van de repository om te bekijken en vervolgens ons bestand in de repository te plaatsen.

 #Invoeg een stukje tekst in een nieuwe bestandsecho "TODO: Create documentation"> README.txt #Now vertel Git om de wijzigingen van dit bestand bij te houden #Dit hoeft maar één keer per bestand te worden gedaan (meer #op dat moment) git voeg README.txt # toe en sla nu de status op naar Git repository git commit README.txt 

Je wordt naar een teksteditorscherm gebracht (precies welke teksteditor afhankelijk is van je distro en configuratie) waar je notities over deze commit moet invoeren. Dit zijn meestal korte samenvattingen van de wijzigingen die zijn opgetreden sinds de laatste commit. Nadat u de teksteditor hebt opgeslagen en afgesloten, moet de commit met succes zijn voltooid.

We hebben in essentie een momentopname gemaakt van de huidige status van dat bestand. Alle verdere wijzigingen (die u vastlegt) worden daarbovenop opgeslagen.

Elk bestand afzonderlijk toevoegen en vastleggen zoals in het bovenstaande voorbeeld kan vervelend worden. Om dat te verhelpen, kunt u in plaats daarvan alle bestanden in de huidige map toevoegen

 #Let op de trailing "." git add. 

en je kunt alle bekende, gewijzigde bestanden in één keer vastleggen met

 git commit -a 

Enkele andere handige commando-opties voor git omvatten:

 # Maak een volledige kloon van de bestaande repository, zoals van de website van een softwareproject git clone (URL, ie git: // github.com/github/linux-2.6.git) # Verplaats / hernoem een ​​bestand. Dit voorkomt dat je het bestand moet verwijderen en opnieuw moet toevoegen #als het werd verplaatst door bash git mv (bron) (bestemming) # Verwijder een bestand en verwijder het uit Git repo git rm (doel) #Zie takken in deze repository git branch # Maak een nieuwe tak van de Git tree git branch (nieuwe filenaam, oftewel "experimenteel") #Switch van de ene branch naar een andere git checkout (filenaam, bijv. "experimenteel") #Merge branch (branch) naar de huidige tree git samenvoegen (tak) 

Dat is natuurlijk nog maar het begin van wat Git kan doen. Als je het handig vindt, raad ik het officiële Git Community Book ten zeerste aan om een ​​veel diepgaander idee te krijgen van het gebruik van dit slimme stuk software.