Git commando's - nadia2603/stage-maykin GitHub Wiki

1. Committen

git commit -m "commit message": Maakt een commit met een beschrijving.

Zelfde als in GitHub Desktop: je slaat wijzigingen op in de lokale repository met een bericht.

git commit --amend: Past de laatste commit aan (bijvoorbeeld om een fout in het bericht of vergeten wijzigingen toe te voegen).

git reset HEAD~: Verwijderd de laatste commit en zet die weer terug


2. Repositories kopiëren

git clone <url>: Kopieert een bestaande repository naar je lokale computer.

In GitHub: klik op Code, kopieer de URL en gebruik dit in de terminal.


3. Status controleren

git status: Toont welke bestanden zijn gewijzigd, nieuw zijn of klaarstaan om gecommit te worden.


4. Wijzigingen toevoegen en opslaan

git add <bestand>: Voegt een specifiek bestand toe aan de staging area (klaar voor commit).

git add .: Voegt alle gewijzigde bestanden toe aan de staging area.

git reset HEAD <bestand>: Haalt een bestand uit de staging area, zonder de wijzigingen te verwijderen.

git stash: Zet wijzigingen tijdelijk opzij.

git stash pop: Haalt de laatst opgeslagen stash weer terug en verwijderd hem uit de lijst.

git stash apply: Hetzelfde als pop alleen blijft hier de stash in de lijst.

git stash list: Laat alle opgeslagen stashes zien.


5. Wijzigingen naar de remote sturen

git push <remote> <branch>: Stuurt de lokale commits naar de externe repository.

<remote> = externe repository (standaard: origin)

<branch> = branch waar je naartoe pusht

Opties:

--all → pusht alle lokale branches

--force → forceert het pushen, zelfs als Git een conflict ziet

--tags → pusht alle tags naar de remote

Je kan git push gebruiken als je al op de main zit. Dan hoef je niks erachter neer te zetten.


6. Wijzigingen ophalen

git pull <remote> <branch>: Haalt wijzigingen op van de externe repository en voegt ze samen met je lokale repository.

Combineert git fetch + git merge. Voorbeeld: git pull origin feature-feature-branch

git fetch <remote>: Haalt alleen wijzigingen op van de externe repository zonder ze samen te voegen.

Updates komen in de externe tracking branches.


7. Branches beheren

git branch: Toont alle lokale branches.

git branch <branch-name>: Maakt een nieuwe branch aan.

git branch -d <branch-name>: Verwijdert een branch.

git checkout <branch>: Wisselt naar een andere branch.

git checkout -: Terug naar de vorige branch waar je op zat.

git checkout -b <branch>: Maakt een nieuwe branch en wisselt er direct naartoe.

git switch <branch>: Moderne manier om van branch te wisselen (zelfde als checkout).

git switch -c <branch>: Maakt een nieuwe branch aan en switcht er direct naartoe.


8. Geschiedenis bekijken

git log: Toont alle commits chronologisch.

git log --oneline: Compact overzicht van commits (1 regel per commit).

git show <commit>: Toont details van een specifieke commit.

git diff Laat zien wat er veranderd is in bestanden sinds de laatste commit.

git blame <bestand>: Laat per regel zien wie de laatste wijziging heeft gedaan en in welke commit.


9. Wijzigingen ongedaan maken

git revert <commit>: Maakt een nieuwe commit die een eerdere commit ongedaan maakt (veilig voor remote).

git checkout -- <bestand>: Herstelt een bestand naar de laatste commit (verwijdert lokale wijzigingen).

git reset <commit>: Zet je repository terug naar een eerdere commit.

git reset --soft <commit>: Commits verdwijnen uit geschiedenis maar wijzigingen blijven in staging.

git reset --mixed <commit>: Commits verdwijnen en wijzigingen blijven in werkmap.

git reset --hard <commit>: Alles wordt teruggezet en wijzigingen zijn helemaal weg.

git restore <bestand>: Herstelt een bestand naar de laatste commit en maakt lokale wijzigingen ongedaan.

git restore --staged <bestand>: Haalt een bestand uit staging (maar behoudt de wijzigingen).


10. Tags en releases

git tag: Toont alle tags.

git tag <tag-name>: Maakt een nieuwe tag aan bij de huidige commit.

git push origin <tag-name>: Stuurt een tag naar de remote repository.

git push origin --tags: Stuurt alle tags naar de remote repository.


11. Remote beheren

git remote -v: Toont de verbonden remote repositories en hun URL’s.

git remote add <naam> <url>: Voegt een nieuwe remote repository toe.

git remote remove <naam>: Verwijdert een remote repository.


12. Merge, Rebase & Cherry-pick (branches samenvoegen en commits overnemen)

git merge <branch>: Voegt een andere branch samen met je huidige branch (maakt meestal een merge commit).

git rebase <branch>: Zet je commits “bovenop” een andere branch voor een schonere geschiedenis.

git rebase -i HEAD~n: Interactieve rebase (commits herschrijven, samenvoegen of aanpassen).

git cherry-pick <commit>: Neemt één specifieke commit over van een andere branch naar je huidige branch.

git cherry-pick --continue: Gaat verder nadat merge conflicts zijn opgelost.

git cherry-pick --abort: Annuleert de cherry-pick en zet alles terug naar de vorige staat.

git cherry-pick -n <commit>: Voert de wijzigingen uit zonder direct een commit te maken.

git cherry-pick -x <commit>: Voegt de originele commit hash toe aan het commitbericht.


13. Bestanden verwijderen of verplaatsen

git rm <bestand>: Verwijdert een bestand uit Git én uit je project.

git rm --cached <bestand>: Verwijdert uit Git, maar laat bestand lokaal staan.

git mv <oud> <nieuw>: Hernoemt/verplaatst een bestand binnen Git.


14. Oplossen van conflicten

git merge --abort: Stopt een merge bij conflicten.

git rebase --abort: Stopt een rebase.

git rebase --continue: Gaat verder na conflict-oplossing.

git mergetool: Opent tool om conflicten visueel op te lossen.

⚠️ **GitHub.com Fallback** ⚠️