2017-05-30 4 views
0

ich ein git status tue, und ich habe die folgende Datei, die „nicht begehen inszenierten Changes“gitignore nicht mit Leerzeichen in Ordnernamen arbeiten

/GTCS/External Assemblies/Alstom.ApplicationBroker.Toolkit.dll 

So in den auftaucht ich den genauen Text oben hinzugefügt in die .gitignore-Datei.

Aber es zeigt sich immer noch in der Änderungen nicht inszeniert für commit wenn ich einen Git-Status.

Ich denke, es ist wegen des Platzes in den Ordnernamen externe Assemblys oder vielleicht die Tatsache, dass ich einen Schrägstrich am Anfang platziert?

Ich habe versucht, einen umgekehrten Schrägstrich unmittelbar nach dem Wort extern, aber das funktioniert nicht. Erscheint immer als nicht inszeniert.

+0

Siehe die Lösung von https://stackoverflow.com/questions/10213653/gitignore-ignore-files-within-a-folder-that-has-whitespace-in-the-middle Dies hat für mich funktioniert. –

+1

Wenn es als "Änderungen nicht inszeniert" und nicht als nicht geordnete Datei angezeigt wird, liegt das daran, dass Git-Ignorierregeln nur für nicht verfolgte Dateien gelten (nicht für neue Änderungen an nachverfolgten Dateien), unabhängig von Problemen mit Leerzeichen im Pfad –

Antwort

-1

Versuchen Sie /GTCS/External\ Assemblies/Alstom.ApplicationBroker.Toolkit.dll. Vor dem Leerzeichen sollte ein Schrägstrich stehen.

1

Wenn die Datei im Bereich "Änderungen nicht für Festschreibung bereitgestellt" angezeigt wird, bedeutet dies, dass die Datei bereits von Git überwacht wurde.

Git verwendet .gitignore nur beim Hinzufügen neuer Dateien zum Repository (d. H. git add). Ihre Datei wurde bereits nachverfolgt und ihr Name wurde jetzt in .gitignore hinzugefügt.

Wenn Sie die Datei ignorieren wollen, wenn es bereits verfolgt wird müssen Sie:

  1. seinen Namen/Pfad hinzufügen .gitignoreund
  2. die Datei aus dem Repository entfernen.

Der zweite Teil ist so einfach wie:

git rm --cached /GTCS/External Assemblies/Alstom.ApplicationBroker.Toolkit.dll 

Nachdem Sie das Entfernen der Datei in der Ausgabe von git status mehr erscheinen wird nicht begehen.


N.B. Der Bereich im Namen steht in keiner Beziehung zu dem Problem.

+2

Dadurch wird die .dll-Datei entfernt und verhindert, dass sie versehentlich hinzugefügt wird (um zu bestätigen, dass der Eintrag ".gitignore" angezeigt wird). Sie wird jedoch nicht vollständig aus dem Repo entfernt, dh sie befindet sich noch im Verlauf, belegt Speicherplatz und ist lesbar von jedem mit Zugang zum Repo. Wenn OP benötigt die Datei vollständig aus dem Repo gelöscht, das ist eine ganze andere Dose Würmer –

Verwandte Themen