Ich möchte Git so einrichten, dass bestimmte Dateien global ignoriert werden.
Ich habe .gitignore
meinem Home-Verzeichnis ( /Users/me/
) eine Datei hinzugefügt und die folgende Zeile hinzugefügt:
*.tmproj
Aber es ignoriert diese Art von Dateien nicht, eine Idee, was ich falsch mache?
.git/info/exclude
im Repo aufgenommen werden, sodass sie nicht unbedingt in die globale Datei aufgenommen werden müssen. Außerdem ist die standardmäßige und automatische globale Gitignore-Datei$HOME/.config/git/ignore
.Antworten:
Sie müssen Ihre globale
core.excludesfile
Konfigurationsdatei so einrichten, dass sie auf diese globale Ignorierdatei verweist.z.B
* nix oder Windows Git Bash:
Windows cmd:
Windows PowerShell:
Für Windows wurde der Speicherort festgelegt
C:\Users\{myusername}\.gitignore
. Sie können überprüfen, ob der Konfigurationswert korrekt ist, indem Sie Folgendes tun:Das Ergebnis sollte der erweiterte Pfad zu Ihrem Benutzerprofil sein
.gitignore
. Stellen Sie sicher, dass der Wert nicht die nicht erweiterte%USERPROFILE%
Zeichenfolge enthält.Wichtig : Mit den obigen Befehlen wird nur der Speicherort der Ignorierdatei festgelegt, die git verwendet. Die Datei muss noch manuell an diesem Speicherort erstellt und mit der Ignorierliste gefüllt werden. (aus Muruges Kommentar)
Weitere Informationen zum Befehl finden Sie unter https://help.github.com/articles/ignoring-files/#create-a-global-gitignore
quelle
HEAD
oder Ihrem Index enthalten ist, sollte es keinen Unterschied machen, ob die Datei einmal verfolgt wurde oder nicht. Es kann hilfreich sein , wenn Sie die Ausgabe hinzufügengit status
,git config core.excludesfile
auf Ihre Frage.#
am Anfang von Zeilen~/.gitignore
innerhalb der globalen Ignorierdatei Kommentare hinzufügen?%USERPROFILE%
Variablen nicht zum Laufen bringen. Ich musste den vollständigen Pfad zur Datei mit * nix-Verzeichnistrennzeichen eingeben. zB core.excludesfile C: /Users/User/.gitignoreBevor Sie die globale Ausschlussdatei neu konfigurieren, möchten Sie möglicherweise mit diesem Befehl überprüfen, für welche Datei sie derzeit konfiguriert ist:
In meinem Fall sah ich beim Ausführen, dass meine globale Ausschlussdatei für konfiguriert war
und dort waren schon ein paar Dinge aufgelistet. Im Fall der gegebenen Frage kann es daher sinnvoll sein, zuerst nach einer vorhandenen Ausschlussdatei zu suchen und die neue Dateimaske hinzuzufügen.quelle
Obwohl andere Antworten korrekt sind, setzen sie den globalen Konfigurationswert, während es einen Standard-Git-Speicherort für die globale Git-Ignorierdatei gibt:
* nix:
Windows:
Möglicherweise müssen Sie ein
git
Verzeichnis und eineignore
Datei erstellen, aber dann können Sie Ihre globalen Ignorierungen in diese Datei einfügen und fertig!Quelle
…
quelle
git
Befehle erstellt / geändert . Da es sich um eine Einstellungsdatei im Verzeichnis jedes Benutzers handelt, denke ich nicht, dass sie jemals überschrieben werden sollte.~/.config/git/ignore
.So erstellen Sie einen globalen Gitignore von Grund auf neu:
C:/Users/User
.gitignore_global
Erweiterungquelle
Von hier aus .
Wenn Sie in Ihrem Repo eine Datei mit dem Namen .gitignore erstellen, verwendet git deren Regeln, wenn Sie sich die zu festschreibenden Dateien ansehen. Beachten Sie, dass git eine Datei nicht ignoriert, die bereits verfolgt wurde, bevor dieser Regel eine Regel hinzugefügt wurde, um sie zu ignorieren. In einem solchen Fall muss die Datei nicht mehr verfolgt werden, normalerweise mit:
Ist es dein Fall?
quelle
core.excludesfile
scheint die Datei anders interpretiert zu werden als eine.gitignore
Datei. Wenn Sie ein gesamtes Verzeichnis ignorieren möchten, geben Sie einfach den Namen des Verzeichnisses wie.vscode/
anstelle von.vscode/*
Wenn Sie ein Unix-System verwenden, können Sie Ihr Problem mit zwei Befehlen lösen. Wobei die erste Konfiguration konfiguriert und die zweite Datei mit einer zu ignorierenden Datei ändert.
quelle
Beispiel
Voila !!
quelle
Denken Sie daran, dass Sie den Befehl ausführen
richtet nur die globale Datei ein, erstellt sie jedoch NICHT. Überprüfen Sie unter Windows Ihr Benutzerverzeichnis auf die
.gitconfig
Datei und bearbeiten Sie sie nach Ihren Wünschen. In meinem Fall ist es so:quelle
Ich kann eine
.tmproj
Datei ignorieren , indem ich entweder.tmproj
oder*.tmproj
in meine/users/me/.gitignore-global
Datei einbinde.Beachten Sie, dass der Dateiname
.gitignore-global
nicht lautet.gitignore
. Es hat nicht funktioniert, indem.tmproj
oder*.tmproj
in eine Datei aufgenommen wurde, die.gitignore
im/users/me
Verzeichnis aufgerufen wurde .quelle
core.excludesfile
Konfiguration übereinstimmt ..tmproj
Datei nicht ignoriert wird, kann sein, dass der Benutzer diesexcludesfile
nicht ist.gitignore
.Sie sollten hierfür eine Ausschlussdatei erstellen. Schauen Sie sich diesen Kern an, der ziemlich selbsterklärend ist.
Um Ihre Frage zu beantworten, müssen Sie die
.tmproj
Datei möglicherweise entweder mitgit rm --cached path/to/.tmproj
odergit add
undcommit
Ihrer.gitignore
Datei deindizieren (falls Sie sie bereits zum Index hinzugefügt haben) .quelle
git rm --cached
?auf Windows - Subsystem für Linux Ich hatte von an das Subsystem Wurzel navigieren
cd ~/
danntouch .gitignore
und dann die globale gitignore Konfiguration dort zu aktualisieren.Ich hoffe es hilft jemandem.
quelle
Wenn Sie VSCODE verwenden, können Sie diese Erweiterung erhalten, um die Aufgabe für Sie zu erledigen. Es überwacht Ihren Arbeitsbereich jedes Mal, wenn Sie Ihre Arbeit speichern, und hilft Ihnen dabei, die Dateien und Ordner, die Sie in Ihren vscode settings.json ignoreit (vscode-Erweiterung) angegeben haben, automatisch zu ignorieren.
quelle