We hoeven niet alles in ons project onder te brengen in Git, of het nu gecompileerde code, bestanden met wachtwoorden, of tijdelijke bestanden die editors leuk vinden om te creëren zijn. Normaliter is het zaken uit de handen van je versie beheer systeem houden moeilijk om te regelen en vervelend om op te zetten. Niet met Git! Het gebruiken van het .gitignore
bestand samen met wat andere opties, we gaan leren hoe je per project en per gebruiker ignores
kunt configureren.
De gemakkelijkste en simpelste manier is het creëren van een .gitignore
bestand in de bovenste folder van je project. De bestanden die je verkiest te negeren hebben impact op alle folders in je project, tenzij zij hun eigen .gitignore
bestand bevatte. Dit is handig, je hebt immers een plek waar je ignores
configureert in tegenstelling tot SVN’s svn:ignore wat op iedere folder gezet moet worden. Tevens kan het bestand zelf geversioneerd worden, wat zeken een goed ding is.
Hier is een basis .gitignore
:
$ cat .gitignore # Can ignore specific files .DS_Store # Use wildcards as well *~ *.swp # Can also ignore all directories and files in a directory. tmp/**/*
Natuurlijk kan dit nog veel complexer gemaakt worden. Je kunt ook uitzonderingen op regels toevoegen door een regel te beginnen met het !
teken. Je kunt hiervan een voorbeeld bekijken op GitHub guide on ignores.
Je dient op twee dingen te letten met het negeren van bestanden: Ten eerste, als een bestand al bekend is bij Git, zorgt het toevoegen aan .gitignore
er niet voor dat Git ophoud met het registreren van de wijzigingen in dat bestand. Je zult git rm --cached <file>
uit moeten voer om je bestand te behouden maar wel te negeren. Ten tweede, lege folders worden door Git niet beschouwd. Als je deze wilt toevoegen aan je Git repository
dien je er iets in te plaatsen. Normaliter is een touch .gitignore
afdoende om de folder op te nemen in het archief.
Je kunt ook de $GIT_DIR/info/exclude
($GIT_DIR
is meestal je .git
folder) openen en aanpassen voor per project ignores
. Het probleem hierbij is dat deze wijzigingen niet geversioneerd zijn, gebruik dit dus uitsluitend wanneer je persoonlijke bestanden hebt die je niet wilt delen met anderen in je project.
Je laatste optie voor het negeren van folder is het toevoegen van een per gebruiker ignore
zetting door een core.excludesfiles
optie in je configuratie bestand toe te voegen. Je kunt een .gitignore
bestand in je HOME folder zetten wat al je repositories
zal beïnvloeden met het volgende commando:
git config --global core.excludesfile ~/.gitignore
Lees manpage als je meer wilt leren over hoe ignores
werken. Zoals altijd als je ignore
gerelateerde tips hebt, laat het ons weten in de commentaar sectie.