Oplossing: Gitignore werkt niet



Probeer Ons Instrument Voor Het Oplossen Van Problemen

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.



.gitignore



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 eerder in de geschiedenis vastgelegd of geënsceneerd.
  • Niet bijgehouden: Dit zijn de bestanden die niet eerder zijn geënsceneerd of vastgelegd.
  • Buiten beschouwing gelaten: 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 door machines 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.
  • Afhankelijkheid caches: 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 gegenereerd tijdens runtime: Er zijn enkele programma's die bestanden tijdens runtime maken. Als een van beide van deze 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 een aantal 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.

Notitie: 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 het dossier en selecteer Opslaan als .

Opslaan als - Kladblok

  1. Nu voor Codering , selecteer ANSI . Verwijder nu de bestandsextensie van .txt en sla het bestand op met de naam ‘ .gitignore ’. Selecteer de juiste directory en sla op.

ANSI selecteren als coderingstype

  1. Navigeer nu naar de directory en controleer of het juiste bestand is aangemaakt. Test het nu opnieuw met Git en kijk of de negeerfunctie werkt zoals verwacht.

Ontwikkelaars moeten afzien van het gebruik van het standaard Kladblok in Windows. In plaats daarvan moet u het juiste notitieblok voor ‘programmeurs’ gebruiken. Enkele voorbeelden zijn Kladblok ++ enz. In die gevallen zult u geen problemen als deze hebben.

Notitie: 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 dat niet zou moeten zijn nog een deel van de repository . Dit is een zeer essentieel aspect, want als dit waar is, zal het bestand niet worden genegeerd zoals het is al toegevoegd naar de repository. 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, moet u het bestand uit de repository 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 aan de repository toevoegen

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, zullen de regels die u in .gitignore heeft toegevoegd in gedachten worden gehouden en worden alleen de juiste bestanden toegevoegd.

Notitie: 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.

4 minuten gelezen