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?

  1. 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
  2. BIn .gitignore kunnen geen directory's worden geschreven, dus de namen van de te negeren bestanden moeten een voor een worden geschreven
  3. 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.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over Basis van Linux en de opdrachtregel

  1. Welke combinatie van standaarddirectory's in Linux en wat erin wordt geplaatst, is juist?
  2. Welke beschrijving van de directory /proc in Linux is juist?
  3. De directory /home/alice/data bestaat, en de huidige directory is /home/alice/work. Welke directory wordt getoond als eerst „cd ../data” en daarna „pwd” wordt uitgevoerd?
  4. In de homedirectory toont „ls” alleen notes.txt, terwijl „ls -a” „.”, „..”, „.bashrc” en „notes.txt” toont. Welke verklaring van dit resultaat is juist?
  5. Wat is het resultaat van de laatste twee cat-commando's als de bovenstaande commando's in volgorde worden uitgevoerd?