Oplossing: Gitignore werkt niet

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

.gitignore

Platforms zoals deze hebben hun technische kenmerken 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, omdat elk geval een volledig ander scenario is. De oplossingen die we vermelden, bevatten echter fixes die universeel werken.

Wat is .gitignore?

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

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

Deze genegeerde bestanden kunnen van scenario tot scenario verschillen en zijn meestal machinaal gegenereerde bestanden of build-artefacten. Dit is de gebruikelijke praktijk; u negeert mogelijk verschillende andere bestanden volgens uw eigen behoeften. 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.
  • Build-uitvoermappen: dit zijn meestal mappen van / bin, / out, enz.
  • 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 gegenereerd tijdens runtime: er zijn een aantal programma's die tijdens runtime bestanden maken. Als een dergelijke code wordt uitgevoerd, kunnen sommige bestanden tijdens runtime in uw werkmap worden gegenereerd en kunt u ze in Git negeren.

Het bestand dat u wilt negeren, wordt bijgehouden in een speciaal bestand met de naam .gitignore, dat meestal wordt gecontroleerd in de hoofdmap van uw 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 bepalen of een specifiek bestand moet worden genegeerd of niet.

Wat veroorzaakt .gitignore niet te werken?

De functie .gitignore werkt mogelijk perfect, maar u hebt deze mogelijk niet correct geconfigureerd. In al onze enquêtes 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 aan bepaalde voorwaarden niet wordt voldaan in de onderliggende code.

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

Oplossing 1: .gitignore-bestand controleren

Er kwam een ​​interessant geval naar voren waarbij 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 Kladblok het bestand in Unicode schrijft in plaats van in ANSI-formaat. In deze oplossing slaan we de wijzigingen van Kladblok op in de juiste indeling. Gitignore en kijken we 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, klik op Bestand en selecteer Opslaan als .

Opslaan als - Kladblok
  1. Selecteer nu ANSI voor codering . Verwijder nu de bestandsextensie van .txt en sla het bestand op met de naam ' .gitignore '. Selecteer de juiste map en sla op.

ANSI selecteren als coderingstype
  1. Navigeer nu naar de map en controleer of het juiste bestand is gemaakt. Test het nu opnieuw met Git en kijk of de functie Negeren werkt zoals verwacht.

Ontwikkelaars moeten zich onthouden van het gebruik van het standaard Kladblok in Windows. In plaats daarvan moet u het juiste notitieblok voor 'programmeurs' gebruiken. Enkele voorbeelden zijn Notepad ++ enz. Daarin zult u dergelijke problemen niet tegenkomen.

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

Oplossing 2: het bestand controleren 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, alsof dit waar is, het bestand wordt niet genegeerd omdat het al aan de repository is toegevoegd . Git kan dat niet negeren, zelfs als je de naam of regel in het .gitignore-bestand plaatst. Dus in wezen negeert Git alleen niet- bijgehouden bestanden .

Bekijk uw structuur (repository) en zorg ervoor dat het bestand dat u momenteel probeert te negeren niet aan de repository is toegevoegd. Als dit het geval is, moet u het bestand uit de repository verwijderen en nadat de laatste wijzigingen zijn doorgevoerd, 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 opslagplaats

Als u al regels hebt toegevoegd aan .gitignore, maar de bestanden die u wilt negeren, al zijn toegevoegd, kunnen we de bestanden opnieuw toevoegen. Toevoegen betekent dat we alles uit de index van Git verwijderen en vervolgens alles weer in uw repository toevoegen. Wanneer we opnieuw bestanden vanaf nul 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 unstageen en verwijderen uit de git index.
 git rm -r - in de cache. 
  1. Nadat dit is uitgevoerd, moet u de volgende opdracht uitvoeren. Hiermee worden al uw bestanden weer toegevoegd en omdat .gitignore de regels heeft, worden alleen de juiste bestanden bijgewerkt.
 git toevoegen. 
  1. Nu zullen we al uw bestanden terugplaatsen in de index 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.

Interessante Artikelen