Ist es möglich, die hinzuzufügen .gitignore
Datei zu .gitignore
selbst?
.gitignore
Funktioniert aber nicht
Ich möchte es nicht in bearbeiteten Dateien sehen
Ist es möglich, die hinzuzufügen .gitignore
Datei zu .gitignore
selbst?
.gitignore
Funktioniert aber nicht
Ich möchte es nicht in bearbeiteten Dateien sehen
Lars Nyström
Der .gitignore
Der Zweck der Datei besteht darin, zu verhindern, dass jeder, der an einem Projekt mitarbeitet, versehentlich einige gemeinsame Dateien in einem Projekt festschreibt, z. B. generierte Cache-Dateien. Daher sollten Sie nicht ignorieren .gitignore
da es im Repository enthalten sein soll.
Wenn Sie Dateien in nur einem Repository ignorieren möchten, aber vermeiden möchten, die Ignorieren-Liste festzuschreiben (z. B. für persönliche Dateien), können Sie sie hinzufügen .git/info/exclude
in diesem Repository.
Wenn Sie bestimmte Dateien in jedem Repository auf Ihrem Computer ignorieren möchten, können Sie die Datei erstellen ~/.gitignore_global
und dann laufen
git config --global core.excludesfile ~/.gitignore_global
Obwohl dies eine detaillierte Antwort ist, beantwortet sie die Frage nicht. „Sollte nicht“ bedeutet nicht, dass du es nicht kannst. In meinem speziellen Fall habe ich einen Symlink, der eine .gitignore-Datei enthält, und wenn ich jetzt ein Commit ausführen möchte, versucht Git, diese .gitignore-Datei einzuschließen. Dies scheint ein perfekter Anwendungsfall zu sein, IMO.
– xorinzor
9. August 2020 um 14:12 Uhr
Warum komplizierte Dinge, wenn die einfache Antwort NEIN ist.
– Darth Vader
1. Oktober 20 um 14:55 Uhr
Ein .gitignore kann sich selbst ignorieren wenn es noch nie eingecheckt wurde:
mhaase@ubuntu:~$ git --version
git version 1.7.9.5
mhaase@ubuntu:~$ git init temp
Initialized empty Git repository in /home/mhaase/temp/.git/
mhaase@ubuntu:~$ cd temp
mhaase@ubuntu:~/temp$ touch .gitignore foo bar baz bat
mhaase@ubuntu:~/temp$ git status
# On branch master
#
# Initial commit
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# .gitignore
# bar
# bat
# baz
# foo
mhaase@ubuntu:~/temp$ echo "foo" >> .gitignore
mhaase@ubuntu:~/temp$ echo ".gitignore" >> .gitignore
mhaase@ubuntu:~/temp$ git status
# On branch master
#
# Initial commit
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# bar
# bat
# baz
nothing added to commit but untracked files present (use "git add" to track)
Wenn Sie .gitignore einchecken (bevor Sie es anweisen, sich selbst zu ignorieren), wird es immer im Git-Status angezeigt, auch wenn Sie es später so ändern, dass es sich selbst ignoriert.
Genau, das ist mein Fall. Ich möchte einen Einheimischen haben .gitignore
zum Arbeiten mit git-svn
, die niemand sehen sollte. Also habe ich es einfach zu sich selbst hinzugefügt und es hat einfach funktioniert. Aber dann habe ich gegoogelt, um zu sehen, ob einige verklemmte Leute anderen erklären, wie das “schlecht” ist. Diese Antwort sollte akzeptiert werden, und dann würde ich die positiv bewerten .git/info/exclude
auch Vorschläge. Also muss es nur nicht verfolgt werden … Nicht sehr überraschend, zumindest wenn Sie jemals “untergraben” wurden (svn).
– Tomasz Gandor
21. Oktober 14 um 13:03 Uhr
ich habe .gitignore
Datei wurde zuerst gesichert. Dann verwende ich git rm .gitignore
und begehen Sie diese Änderung. Endlich hinzufügen und übernehmen .gitignore
Datei erneut mit Regel für .gitignore
. Es klappt!
– qzhang
17. Dezember 15 um 19:51 Uhr
Um dies zu beheben, können Sie ausführen git rm --cached .gitignore
.
– Gideon
9. April 18 um 11:36 Uhr
Macht perfekt Sinn. .gitignore
ignoriert nicht verfolgt Dateien. Wenn die .gitignore
Datei selbst nicht verfolgt wird, kann sie sich auch ignorieren. Ja, das verstößt gegen den ursprünglichen Zweck .gitignore
aber das bedeutet nicht, dass es nicht auf diese Weise verwendet werden kann.
– ADTC
17. August 21 um 20:05 Uhr
Daenyth
Es gibt nicht wirklich einen guten Grund, dies zu tun. Wenn Sie Dateien möchten ignoriert für dein nur klonenfügen Sie sie hinzu .git/info/exclude
nicht in .gitignore
Datei.
Ich erhalte “Der Vorgang kann aufgrund vorhandener Änderungen an der folgenden Datei nicht abgeschlossen werden” und die Datei, in der sie aufgeführt ist, ist diejenige, die ich ausgeschlossen habe. Irgendeine Idee warum?
– Paul McCarthy
14. August 19 um 10:30 Uhr
KarlB
Ja, du kannst; Sie sehen es immer noch in bearbeiteten Dateien, weil es immer noch von Git verfolgt wird, und Dateien, die von Git verfolgt werden, werden immer als geändert markiert, selbst wenn sie in .gitignore sind. Also einfach untracken.
Aber warum sollten Sie Änderungen, die Sie daran vorgenommen haben, nicht festschreiben oder zurücksetzen? Es ist ein viel besserer Weg, es aus dem Status zu entfernen … Beachten Sie auch, dass jeder neue Klon Ihres Repos seinen hinzufügen muss .gitignore
was nervig sein kann.
.
warum willst du das machen? Bestätigen Sie einfach Ihre Änderungen.
.gitignore
soll Teil Ihres Repositorys sein und Dateimuster auflisten, die für das Projekt Junk sind.– KurzedMetal
16. April 12 um 15:25 Uhr
.gitignore
sollte Teil Ihres Repositorys sein, damit jeder in Ihrem Team dieselben Dateien ignoriert oder eincheckt. Nur weil.gitignore
sich irgendwo in Ihren Code-Ordnern befindet, bedeutet das nicht, dass Sie es bereitstellen müssen.– Ryan Lundy
23. Mai ’12 um 21:40 Uhr
mögliches Duplikat von Wie sage ich Git, dass es “.gitignore” ignorieren soll?
– Dieser Brasilianer
9. September 13 um 14:58 Uhr
Sie können verwenden
git rm --cached .gitignore
und Untracking .gitignorieren– hassanzadeh.sd
13. Januar 20 um 13:29 Uhr