Oplossing: Gitignore werkt niet

GitHub is uitgegroeid tot een toonaangevende pionier op het gebied van codesamenwerking en het delen van repository's. GitHub is in de eerste plaats een versiebeheersoftware waarmee gebruikers gedistribueerde versiebeheer en SCM (broncodebeheer) kunnen beheren. Dit platform wordt gebruikt door grote bedrijven en bedrijven over de hele wereld.

Platforms zoals deze hebben hun technische details en problemen. Een specifiek probleem dat de codeerders ondervonden, was dat .gitignore niet werkte in GitHub. Het platform negeerde de .gitignore of werkte gedeeltelijk. Het is interessant om op te merken dat het probleem in elk geval een beetje anders kan zijn, aangezien elk geval een heel ander scenario is. De oplossingen die we noemen, bevatten echter fixes die universeel zullen werken.

Wat is .gitignore?

Git (of GitHub) ziet elk bestand in je werkdirectory. Het karakteriseert elk bestand als een van de drie:

  • Bijgehouden: deze bestanden zijn vastgelegd of eerder in de geschiedenis opgeslagen.
  • Untracked: dit zijn de bestanden die niet eerder zijn geënsceneerd of vastgelegd .
  • Genegeerd: Dit zijn de bestanden die de gebruiker zelf tegen Git heeft gezegd volledig te negeren.

Deze genegeerde bestanden kunnen van scenario tot scenario verschillen en zijn meestal machinaal gegenereerde bestanden of build-artefacten. Dit is de gangbare praktijk; het kan zijn dat u verschillende andere bestanden naar uw eigen behoeften negeert. Enkele voorbeelden van deze bestanden zijn:

  • Gecompileerde code: deze bestanden hebben meestal de extensie .class, .pyc, .ccp etc.
  • Verborgen systeembestanden: dit zijn bestanden die door het systeem worden gebruikt voor zijn bewerkingen, maar die niet zichtbaar zijn, bijvoorbeeld DS_Store of Thumbs.db, enz.
  • Bouw uitvoermappen: dit zijn meestal de mappen van / bin, / out, etc.
  • Afhankelijkheidscaches: deze bestanden kunnen de inhoud zijn van / node- of / packages-modules.
  • IDE-configuratiebestanden: dit zijn configuratiebestanden die meestal worden gemaakt of beheerd door uw IDE-software.
  • Bestanden die tijdens runtime worden gegenereerd: er zijn enkele programma's die bestanden tijdens runtime maken. Als een van deze twee code wordt uitgevoerd, kunnen sommige bestanden tijdens de uitvoering in je werkmap worden gegenereerd en kun je ze in Git negeren.

Welk bestand je ook wilt negeren, het wordt bijgehouden in een speciaal bestand genaamd .gitignore dat meestal wordt gecontroleerd in de root van je werkende repository. Volgens de officiële documentatie van GitHub over dit onderwerp is er geen specifiek gitignore-commando. In plaats daarvan moet u het bestand dat u wilt negeren, handmatig bewerken. Het .gitignore-bestand bevat patronen die worden vergeleken met de bestandsnamen in uw werkende repository en deze worden gebruikt om te helpen bepalen of een specifiek bestand moet worden genegeerd of niet.

Wat zorgt ervoor dat .gitignore niet werkt?

De .gitignore-functie werkt mogelijk perfect, maar u hebt deze mogelijk niet correct geconfigureerd. In al onze onderzoeken kwamen we tot de conclusie dat de module inderdaad werkte. De reden waarom codeerders de functie niet kunnen gebruiken, is meestal omdat ze het bestand niet correct hebben geconfigureerd of omdat er enkele voorwaarden zijn waaraan niet wordt voldaan in de onderliggende code.

Hier zijn enkele oplossingen die voor u kunnen werken. Elke oplossing is mogelijk niet van toepassing in uw geval, dus zorg ervoor dat u naar de volgende overschakelt als niet aan de beginvoorwaarden wordt voldaan.

Oplossing 1: het .gitignore-bestand controleren

Er kwam een ​​interessant geval naar voren waarin we zagen dat het .gitignore-bestand in het verkeerde formaat was gemaakt. Dit specifieke probleem deed zich voor toen gebruikers het bestand maakten met de standaardtoepassing van Kladblok in Windows OS. Het blijkt dat Notepad het bestand schrijft in Unicode in plaats van ANSI-indeling. In deze oplossing slaan we de wijzigingen van Kladblok op in de juiste indeling van .gitignore en kijken of dit het probleem oplost.

Opmerking: u moet de extensie .txt uit het bestand verwijderen wanneer u een nieuw bestand maakt met Kladblok.

  1. Na het schrijven van de code of wijzigingen in een nieuw tekstdocument in Kladblok, klikt u op Bestand en selecteert u Opslaan als .
  1. Selecteer nu voor Codering ANSI . Verwijder nu de bestandsextensie van .txt en sla het bestand op met de naam ' .gitignore '. Selecteer de juiste directory en sla op.
  1. Navigeer nu naar de directory en controleer of het juiste bestand is aangemaakt. Test het nu opnieuw met Git en kijk of de Ignore-functie werkt zoals verwacht.

Ontwikkelaars moeten afzien van het gebruik van het standaard Kladblok in Windows. In plaats daarvan zou u het juiste notitieblok voor 'programmeurs' moeten gebruiken. Enkele voorbeelden zijn onder meer Notepad ++ enz. Daarin zult u geen problemen als deze hebben.

Opmerking: Als je bestand al is opgeslagen in UNICODE-formaat, moet je de inhoud correct opslaan in ANSI-formaat als je wilt dat je bestand correct wordt gedetecteerd door Git.

Oplossing 2: controleer het bestand dat u probeert te negeren

Een andere voorwaarde waarop .gitignore werkt, is dat uw bestand nog geen deel uitmaakt van de repository . Dit is een zeer essentieel aspect, want als dit waar is, zal het bestand niet worden genegeerd aangezien het al aan de repository is toegevoegd . Git kan dat niet negeren, zelfs niet als je zijn naam of regel in het .gitignore-bestand plaatst. Dus in wezen negeert Git alleen niet- bijgehouden bestanden .

U moet naar uw structuur (repository) kijken en ervoor zorgen dat het bestand dat u momenteel probeert te negeren, niet aan de repository wordt toegevoegd. Als dit het geval is, zou u het bestand uit de repository moeten verwijderen en nadat de laatste wijzigingen zijn vastgelegd, de naam ervan toevoegen aan .gitignore (u kunt ook de inhoud van het bestand kopiëren en na het verwijderen, repliceren met een andere naam) .

Oplossing 3: bestanden opnieuw toevoegen aan de repository

Als je al regels hebt toegevoegd aan .gitignore maar de bestanden die je wilt negeren al zijn toegevoegd, kunnen we de bestanden opnieuw toevoegen. Toevoegen betekent dat we alles uit de index van Git verwijderen en alles weer terug in je repository toevoegen. Wanneer we bestanden opnieuw vanaf het begin toevoegen, worden de regels in gedachten gehouden die u in .gitignore hebt toegevoegd en worden alleen de juiste bestanden toegevoegd.

Opmerking: u moet ook ergens anders een back-up van uw code maken voordat u deze oplossing uitvoert. Het is altijd goed om een ​​back-up te hebben voor het geval dat.

  1. Voer de volgende opdracht uit. Dit zal de paden naar je bestanden op een recursieve manier unstagen en verwijderen uit de git-index.
git rm -r --cached.
  1. Nadat dit is uitgevoerd, moet u de volgende opdracht uitvoeren. Hiermee worden al je bestanden weer toegevoegd en aangezien .gitignore de regels heeft, worden alleen de juiste bestanden bijgewerkt.
git add.
  1. Nu zullen we al uw bestanden terug in de index vastleggen met behulp van de onderstaande code:
git commit -m ".gitignore werkt nu"

Inspecteer nu uw bestanden en kijk of het probleem is opgelost en u kunt .gitignore zonder problemen opnieuw gebruiken.

Aanbevolen

Oplossing: Minecraft reageert niet
Wat is de registratietoepassing voor een digitale tv-tuner en moet deze worden verwijderd?
Wat is FileRepMalware en moet u het verwijderen?