Ich habe eine Gitignore-Datei, die Git dazu bringt, *.dll
Dateien zu ignorieren , und das ist eigentlich das Verhalten, das ich will. foo.dll
Wie kann ich dies jedoch erreichen, wenn ich eine Ausnahme möchte (dh festschreiben kann )?
326
Antworten:
Verwenden:
Von Gitignore :
quelle
*.dll
es und der gitignore meines Projekts hat es,!Libs/*.dll
aber das scheint nicht zu funktionieren.!Libs/**/*.dll
.!**/Libs/*.dll
je nach Ordnerstruktur.!foo.dll
den Befehl ungültig gemacht. Wenn ich den Kommentar in einer separaten Zeile hinzufüge, funktioniert es.Git ignoriert Ordner, wenn Sie schreiben:
Es können jedoch keine Ausnahmen hinzugefügt werden, wenn Sie:
!/js/jquery
oder!/js/jquery/
oder!/js/jquery/*
Sie müssen schreiben:
und nur dann können Sie solche Unterordner ausnehmen
quelle
!/js/jquery/xyzlib
werden sie nicht ignoriert .../js/*
,!/js/jquery
,/js/jquery/*
,!/js/jquery/xyzlib
? Fühlt sich wie eine ziemlich lustige Art an, es zu tun ...Sie können einfach
git add -f path/to/foo.dll
..gitignore
ignoriert nur Dateien für das übliche Tracking und ähnlichesgit add .
quelle
-f
sagt git, um das Hinzufügen dieser Datei im Repo zu erzwingen, da es es möglicherweise zuerst wegen Ihrer.gitignore
Gehen Sie wie folgt vor, um alles in einem Verzeichnis, aber einige Unterverzeichnisse, auszuschließen:
Quelle: https://gist.github.com/444295
quelle
Fügen Sie einfach
!
vor einer Ausschlussregel hinzu.Laut der gitignore-Manpage :
quelle
!foo.dll
in .gitignore oder (jedes Mal!)git add -f foo.dll
quelle
Wenn Sie mit Visual Studio arbeiten und sich Ihre DLL zufällig in einem
bin
Ordner befindet, müssen Sie eine Ausnahme für den jeweiligen Bin-Ordner selbst hinzufügen, bevor Sie die Ausnahme für die DLL-Datei hinzufügen können. Z.BDies liegt daran, dass die Standarddatei von Visual Studio
.gitignore
ein Ignoriermuster für enthält[Bbin]/
Dieses Muster zappt alle Bin-Ordner (und folglich deren Inhalt), wodurch jeder Versuch, den Inhalt einzuschließen, überflüssig wird (da der Ordner selbst bereits ignoriert wird).
Ich konnte herausfinden, warum meine Datei nicht durch Ausführen ausgenommen wurde
aus einem Git Bash Fenster. Dies gab das
[Bbin]/
Muster zurück.quelle
Die Lösung hängt von der Beziehung zwischen der Git-Ignorierregel und der Ausnahmeregel ab:
Dateien / Dateien in verschiedenen Ebenen oder Dateien / Unterordner: Sie können dies tun:
quelle
Seit Git 2.7.0 berücksichtigt Git Ausnahmen. Aus den offiziellen Versionshinweisen:
https://raw.githubusercontent.com/git/git/master/Documentation/RelNotes/2.7.0.txt
quelle