Frage

Ich habe eine .gitignore -Datei im Ordner mit dem .git -Ordner erstellt, aber ich erhalte immer noch die Dateien, die ich bei einem Rescan des Repositorys ignorieren möchte.

Dies ist der Inhalt der Datei.

# Ignored files
*.suo 
*.user 
bin 
obj 
*.pdb 
*.cache 
*_svn 
*.svn 
*.suo 
*.user 
*.build-res 
TestResults 
_ReSharper*

Was mache ich falsch? Wo soll sich die Datei befinden?

War es hilfreich?

Lösung

Sie müssen sicherstellen, dass die Datei, die Sie noch sehen, derzeit nicht verpflichtet oder inszeniert sind.

Wenn Sie sie entfernen (git rm oder git rm --cached) und fügen Sie sie dann als private Datei hinzu, dann werden sie ignoriert.

Andere Tipps

Ihre Datei sieht gut aus. Stellen Sie nur sicher, dass Sie zu Beginn jeder Zeile keine Weißespace haben. Ich habe 4 Stunden gebraucht, um herauszufinden, warum mein Gitignore nicht richtig funktionierte. Der Grund war natürlich ein geschnittenes Problem, in dem ich zu Beginn der Datei eine vertikale Räume -Linie hatte.

Sie sollten vorsichtig sein mit git commit -a Bevor Sie sicherstellen, dass Ihre .Gitignore -Datei wirklich alles ausräbt, was Sie nicht wollen. Markieren Sie entweder jede Datei (oder verwenden Sie Platzhalter) mit git add *.cpp *.h oder - wie ich bevorzuge - entwickeln Sie Ihren .Gitignore während des Fortschritts und erkundigen Sie sich immer mit git status vor dem Verfassen.

Wenn Sie überprüfen möchten, dass Ihr. Gitignore wirklich funktioniert, Versuchen

git ls-files --others -i --exclude-standard

Dies sollte alle Dateien auflisten, die Sie derzeit ignorieren.

Um die bereits hinzugefügten Dateien zu reinigen (wahrscheinlich mithilfe git add ., ein Fehler, den wir alle am Anfang machen =]) Sie können es mögen @Vonc sagte: entweder rennen

git rm <filename>

oder

git rm --cached <filename>

Eine weitere Möglichkeit, alle Dateien zu reinigen, die Sie unbeabsichtigt hinzugefügt haben, besteht darin, Ihr Repository vollständig zu reinigen und dann alles erneut zu nutzen. Wenn Sie alles im Staging -Bereich räumen möchten, Du kannst rennen

git --rm cached .

Aber denken Sie daran, nicht zu rennen git add . Bis Sie sichergestellt haben, dass der Git -Status nur die gewünschten Dateien im Repository auflistet.

Eine andere sehr nützliche Sache bei Git ist, dass bei der Verwendung von Wildcards keine Wege zu Dateien erforderlich sind. Wenn Sie Ihre ignorierten Dateien auflisten und feststellen, dass Sie alle entfernen möchten *.suo und *.log Dateien, einfach ausführen

git rm --cached *.suo *.log

Und Git kümmert sich darum, alle Dateien in Ihrem Repository zu finden, die dieser Signatur entsprechen, unabhängig davon, wo sie sich in dem Baum befinden.

Ich habe mehrere Möglichkeiten versucht, dies zum Laufen zu bringen, und es war endlich ziemlich einfach:

Sie müssen zuerst den .gitignore begehen!

Wenn Sie Tortoisegit - Gitex Commit -Tool verwenden, gibt es auch eine Option zum Bearbeiten ignorierter Dateien.

Sie finden es richtig. .Gitignore sollte sich im selben Ordner befinden, wo befindet sich .Git -Ordner. Die Datei im Inneren sieht auch korrekt aus. Ich habe jedoch keine Kommentarzeile oben.

Wenn ich mir das ansehe, würde ich denken, dass Sie vergessen haben, Ihre Ignorierungsdatei zu begehen.

Keiner der zwischengespeicherten Lösungen für mich hat für mich funktioniert. Die Datei muss als ASCII/ANSI codiert werden. Ich habe auch die Linienende geändert, aber das allein hat es nicht behoben. Ich kann die URL mit diesen Anweisungen nicht finden (sorry, Originalplakat!), Aber das hat bei mir funktioniert:

  1. Installieren Sie Notepad ++, wenn Sie es noch nicht haben. TextPad sollte auch funktionieren, aber ich verwende Notepad ++.
  2. Öffnen Sie Ihren .Gitignore mit Notepad ++.
  3. Klicken Sie auf Anzeigen | Symbol anzeigen | Zeigen Sie alle Charaktere. Sie werden wahrscheinlich am Ende jeder Zeile CR LF sehen.
  4. Führen Sie eine Suche und Ersetzung durch (Strg+H) und stellen Sie sicher, dass die Verlängerung überprüft wird (unterer Ecke). Suchen Sie nach r n und ersetzen Sie sie durch n. Sie werden alle CR LF -Änderungen zu nur LF sehen.
  5. Klicken Sie nun auf Codierung | In ANSI codieren.
  6. Speichern Sie die Datei und beenden Sie.

Aus der Eingabeaufforderung in Windows oder der Git -Eingabeaufforderung, je nachdem, was Sie mögen, wenn Sie den Git -Status durchführen, sollte sie keine Dateien in .gitignore anzeigen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top