Basis van Linux en de opdrachtregel
In het .gitignore-bestand van een project dat met Git wordt beheerd, is „build/” geschreven, maar wijzigingen in build/out.log, dat eerder is gecommit, blijven in git status verschijnen. Wat is de reden?
- A.gitignore werkt alleen op bestanden die nog niet worden gevolgd, dus een gevolgd bestand moet met git rm --cached uit het volgen worden gehaald
- BIn .gitignore kunnen geen directory's worden geschreven, dus de namen van de te negeren bestanden moeten een voor een worden geschreven
- C.gitignore heeft op geen enkel bestand effect totdat het .gitignore-bestand zelf met git add is toegevoegd en gecommit
Antwoord en toelichting tonen
Antwoord: A. .gitignore werkt alleen op bestanden die nog niet worden gevolgd, dus een gevolgd bestand moet met git rm --cached uit het volgen worden gehaald
.gitignore is een instelling die bestanden die nog niet worden gevolgd (nooit gecommit of met git add toegevoegd) weglaat uit het overzicht van git status en uit wat git add oppakt. Een bestand dat al wordt gevolgd, blijft gevolgd, ook als het in .gitignore staat, dus de wijzigingen ervan blijven verschijnen. git rm --cached build/out.log stopt het volgen terwijl het bestand in de werkdirectory blijft staan, en nadat dat is gecommit, werkt de regel in .gitignore. Grote gegenereerde bestanden, zoals simulatie-uitvoer en buildresultaten, zet je het best vanaf het begin in .gitignore.
Verder: nog 9 vragen over Basis van Linux en de opdrachtregel