Aan de slag met GIT op Linux
Git is een gedistribueerd versiebeheersysteem. Het wordt gebruikt om veranderingen in willekeurige bestanden bij te houden. Het werd ontworpen voor het coördineren van het werk tussen programmeurs die broncode bewerken tijdens het software ontwikkelingsproces. In dit artikel laat ik je de commando’s zien om basisbewerkingen op een Git repository uit te voeren. We zullen de Ubuntu server als OS gebruiken. Dezelfde commando’s kunnen op elk van de besturingssystemen werken en alleen het installatie-gedeelte zal anders zijn.
Vereisten
- Ubuntu 20.04
Wat zullen we doen?
- Initialiseer een lokale repository en voer er basisbewerkingen op uit.
- Kloon een bestaande repository en voer er basisbewerkingen op uit.
Initialiseer een lokaal repository en voer er basisbewerkingen op uit.
Controleer voor je verder gaat welk besturingssysteem je gebruikt en of Git daarop beschikbaar is.
Ik heb het al geïnstalleerd op mijn Ubuntu 20 0.4 LTS server.
cat /etc/issue
git --version
Gebruik je hetzelfde besturingssysteem als het mijne, dan kun je het installeren met het volgende commando als je het nog niet op je server hebt.
sudo apt-get install git
Laten we nu aan de slag gaan met de basisbewerkingen in Git.
Controleer de huidige directory en maak er een nieuwe directory in. Verander je werkdirectory in de directory die je maakte.
pwd
mkdir my-first-git-repo
cd my-first-git-repo/
ls -la
Tot nu toe hebben we gewoon een directory waar geen bestanden in staan en die in het Linux systeem een eenvoudige directory is. Gebruik is het volgende commando om de eenvoudige directory om te zetten in een Git repository.
git init
ls -la
Nu zie je dat een nieuwe verborgen map is aangemaakt met Git configuraties erin.
cat .git/config
Bij het initialiseren van een Git repository bevat hij niet de gebruikersidentiteit. Om een gebruikersnaam en e-mail ID als gebruikersidentiteit in te stellen gebruik je de volgende commando’s. Deze identiteit wordt in de Git logberichten bijgevoegd.
git config --list
git config user.name rahul
git config user.email [email protected]
git config --list
Als je de gebruikersidentiteit hebt ingesteld en en de config opsomt, kun je zien dat de gebruikersnaam en e-mail ingesteld zijn.
Je kunt zelfs de gebruikersnaam en e-mail ID die als gebruikersidentiteit is ingesteld controleren met de volgende commando’s.
git config user.name
git config user.email
De bovenstaande commando’s stellen gebruikersidentiteit in die beperkt is tot een bepaald repository.
Je kunt zelfs een gebruikersidentiteit instellen die door alle repositories op je machine gebruikt zal worden en die bekend staat als globale identiteit. Als je de globale identiteit instelt, zullen de repositories die geen lokale identiteit hebben deze globale identiteit gebruiken bij het vastleggen van de berichten.
Als de globale identiteit niet ingesteld is en je probeert de gebruikersnaam en e-mail op te sommen krijg je geen informatie.
git config --global user.name
git config --global user.email
Maar als je de gebruikersnaam en e-mail ID instelt en daarna de identiteit controleert, zie je dat die wordt weergegeven.
git config --global user.name rahul
git config --global user.email [email protected]
git config --global user.name
git config --global user.email
Iedereen en staat de globale identiteit met de volgende commando’s.
git config --global --unset user.name
git config --global --unset user.email
git config --global user.name
git config --global user.email
Bekijk de volgende schermafbeelding ter referentie
Nu weet je dat je je lokale identiteit kunt controleren met de commando’s, maar je kunt zelfs controleren wat ingesteld is door het .git/config bestand te lezen.
git config user.name
git config user.email
Als je de inhoud van .git/config bestand leest, zul je zien dat de gebruikersnaam en e-mail in dit bestand zijn ingesteld. En dit is van waaruit de lokale identiteit gebruikt wordt. Je kunt de identiteit zelfs veranderen door hetzelfde bestand te bewerken.
vim .git/config
cat .git/config
git config user.name
git config user.email
Als je de commit identiteit voor je lokale repository hebt ingesteld, is de volgende stap een bestand te maken en het aan het repository toe te voegen.
Laten we een leeg bestand in het lokale archief aanmaken.
touch README.md
Als je na het toevoegen van het bestand de status van het repository bekijkt, zul je zien dat het bestand nu ongetraceerd is door Git.
git status
git branch
Voordat je je bestand aan Git commit moet je het eerst toevoegen. Gebruik het volgende commando om je bestand aan Git toe te voegen, zodat het klaar is voor de commit.
git add README.md
git status
git log
Tijdens het committen van een bestand aan de Git repository moet je er een boodschap aan toevoegen.
git commit -m "my first commit - added README.md"
Bij controle van de logs zul je nu zien dat het bestand gecommit is met de boodschap die we in de commit vermeldden.
git log
Standaard worden je commits aan de master branch toegevoegd.
git branch
Kloon een bestaande repository en voer er basisbewerkingen op uit
Tot nu toe werkten we met een repository op ons lokale systeem.
Nu zullen we zien hoe we een paar operaties op een bestaande repository kunnen uitvoeren. Als je nog geen bestaande repository hebt op een code hosting platform, zoals Github, voor versiebeheer en samenwerking, maak dan eerst een account aan op Github om een repository te maken.
Je kunt hier een account op Github aanmaken.
Zodra je een account op Github hebt aangemaakt is het tijd om een nieuwe repository aan te maken. Om een repository aan te maken klik je op het “+” icoon rechts bovenaan het scherm en klik op de optie “New repository”.
Geef de aan te maken repository een naam en stel het toegangsniveau in als privé of openbaar, afhankelijk van wat je nodig hebt.Je kunt zelfs een readme bestand toevoegen bij het aanmaken van de repository. Klik op de knop “Create repository” om een archief aan te maken met de door jou opgegeven configuratie.
Als je een repository gemaakt hebt is de volgende stap om het op je lokale systeem te klonen. Om zijn URL te krijgen klik je op “Code” en kopieer je de URL uit de HTTPS sectie.
Ga terug naar je systeem en verander je werkdirectory
pwd
cd ..
pwd
Kloon de repository op je lokale machine met het volgende commando, Je moet je Git URL opgeven.
git clone <your-repository-URL>
cd test-repo/
ls -lt
Het bovenstaande commando kloont je repository van Github naar je lokale machine en als je nu het Git log bekijkt zie je één logmelding met de initiële commit waaraan ik een README.md bestand toevoegde.
git log
Laten we nu een nieuw bestand maken, het aan Git toevoegen en het committen met een boodschap.
pwd
touch first-file-to-push
git status
git add first-file-to-push
git status
git commit -m "first commit to push to the remote repository"
Bij het committen wordt je gevraagd je gebruikersidentiteit in te stellen
git config --list
git config user.name rahul
git config user.email [email protected]
git config --list
git log
Nadat je je gebruikersidentiteit ingesteld hebt, kun je de identiteit repareren in de commit die we deden.
Om de identiteit te repareren voer je het volgende commando uit. Je krijgt een editor en daar kun je de commit desgewenst veranderen.
git commit --amend --reset-author
Bij controle van het Git log zul je zien dat het log de identiteit heeft die je instelde en de commit die je repareerde.
git log
git status
Je bent helemaal klaar om je lokale veranderingen naar het remote repository te pushen. Met het volgende commando push je wijzigingen naar Github in je repository.
git push
Je kunt nu je wijzigingen in het remote repository terugvinden. Ga naar het repository en je kunt de commit vinden en het bestand dat je toevoegde.
Soms moet je bepaalde bestanden uitsluiten van toevoeging aan het repository.
pwd
ls -la
Je kunt een .gitignore bestand maken en het patroon van bestanden toevoegen dat Git moet negeren.
touch .gitignore
vim .gitignore
Hier heb ik toegevoegd “*.txt” dat alle bestanden eindigend op “.txt” zal negeren.
cat .gitignore
Nadat je een patroon aan het .gitignore bestand hebt toegevoegd en een bestand van dat patroon in het archief hebt gemaakt, zal het bestand door Git genegeerd worden.
Omdat we *.txt hebben toegevoegd en nu als we proberen een bestand te maken dat eindigt op .txt, zal het door Git genegeerd worden bij de “git add” bewerking.
touch ignore-this-file.txt
git status
De bestanden die niet met het patroon overeenkomen worden door Git niet genegeerd
touch dont-ignore-this-file.doc
git status
Je kunt dan alle bestanden in het archief toevoegen en ze met een boodschap committen. Je zult merken dat de genegeerde bestanden niet toegevoegd worden.
git add .
git status
git commit -m "added .gitignore and a sample doc file"
git status
Zodra de bestanden zijn toegevoegd en met een boodschap gecommit zijn, zijn ze klaar om naar het remote archief gepushed te worden.
git push
Als je ooit zin hebt om je bestanden uit het archief te verwijderen, kun je het “git rm” commando gebruiken.
pwd
ls -lt
git status
git rm dont-ignore-this-file.doc
git status
ls -la
Na het verwijderen van het bestand kun je dan je wijzigingen commiteren en naar het repository pushen.
git commit -m "git removed dont-ignore-this-file.doc "
git status
git push
Conclusie
In dit artikel maakten we een directory aan op het lokale systeem en initialiseerden die als een Git repository. We voerden basisbewerkingen uit als git add, git commit op deze repository. We maakten ook een repository op Github en kloonden die op de lokale server en voerden basisbewerkingen uit als git add, git commit, git push, git rm. We zagen ook dat Git bestanden met een bepaald patroon kan negeren.