Wie kann ich aufhören .gitignore erscheint in der Liste der nicht verfolgte Dateien?
Ich habe gerade ein git init
auf den root von meinem neuen Projekt.
Dann erstellte ich eine .gitignore
Datei.
Nun, wenn ich git status
, .gitignore Datei erscheint in der Liste der nicht verfolgte Dateien. Warum ist das so?
git add self && git commit -m "-1 for reverting existential depression" && git remote rm HEAD
- Kann ich ignorieren .git/ Ordner und legen Sie es in ".gitignore"?
- Sie können eine Globale "gitignore" in Ihrem home-Ordner unter Linux und dort gespeichert werden: git config --global core.excludesfile ~/.gitignore_global
- Ich kam hier durch die Suche
how to gitignore .gitinore file
und die Frage und akzeptiert die Antwort nicht wirklich im Zusammenhang zum Titel. Titel konnte verbessern. - sieht aus wie die Antwort ist, dass Sie sollten nicht ignorieren, die
.gitignore
- Datei. Warum willst du es? - Es gibt Anwendungsfälle für das ignorieren .gitignore. Mein team workflow es erfordert, mich zu ändern einen Satz von Dateien für meinem lokalen dev-Umgebung, aber Sie sollten nicht verpflichtet werden. Der workflow verbessert werden könnte, mit besserer Architektur, aber es ist aus meinen Händen. In der Zwischenzeit, dass git achten Sie auf diese Dateien ist eine Haftung. Damit will ich gitignore Sie aber nur lokal, und ich nicht riskieren wollen zu Begehen meinen .gitignore, wie es nicht sein sollte, gemeinsam mit dem team.
- Hinzufügen .gitignore in der .gitignore-Datei
Add .gitignore in the .gitignore file
@cjsimon - funktioniert nicht.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den
.gitignore
Datei sollte in Ihrem repository haben, so sollte es in der Tat Hinzugefügt werden, und verpflichtet sich, ingit status
schlägt. Es ist ein Teil des repository-Baum, so dass änderungen zusammengeführt werden können und so weiter.So, fügen Sie es zu Ihrem repository, sollte es nicht gitignored.
Wenn Sie wirklich wollen, Sie können hinzufügen
.gitignore
zu den.gitignore
- Datei, wenn Sie nicht wollen, dass es begangen werden kann. In diesem Fall ist es wahrscheinlich besser, hinzufügen, die ignoriert zu.git/info/exclude
eine spezielle Kasse-lokale Datei, die genauso funktioniert wie .gitignore aber nicht zeigen, bis in "git status", da es in der.git
Ordner.Siehe auch https://help.github.com/articles/ignoring-files
.git/info/exclude
statt.gitignore
, dann andere, die clone das Repository wird nicht ignorieren die gleichen Dateien?.git/info/excludes
, wo ich verschiedene Dokumente, downloads, etc ich will nicht zum check-in. Für git-svn funktioniert es auch gut, es sei denn, Sie prüfen möchten .gitignore-Datei in einem svn-repo 🙂.git/info/exclude
.*.swp
. Das ist erstellt von Vim, die nur einige aus meinem team (mich eingeschlossen) verwenden für das schreiben von code..gitignore
- Datei und dev/env/Maschine Verwandte Dateien in der.git/info/exclude
- Datei. Auf diese Weise brauchen wir nicht aufblasen bis die gitignore-Liste mit Dingen, die relevant sein können, um nur eine person, weil er/Sie gewählt hat, eine bestimmte dev-setup. Konkretes Beispiel: die.DS_Store
Dateien sind nur für mich relevant, denn ich bin mit macOSWenn Sie möchten, speichern Sie die Liste der ignorierten Dateien außerhalb des Git-tree, können Sie die .git/info/exclude - Datei. Es wird nur angewendet, um Ihre Kasse von der repo.
~/.gitignore
so sind Sie ignoriert jede Projektarchiv ich arbeite.git update-index --assume-unchanged <file>
um das tracking zu stoppen, änderungen ohne änderung Ihrer repo. Dies ist sehr nützlich für große gemeinsame Projekte, wo Sie brauchen, um lokale änderungen, aber sonst niemand will, um zu sehen, Ihre Sachen, verpflichtet sich der repo. Siehe blog.pagebakers.nlKönnte man eigentlich eine Zeile ".gitignore" in Ihr ".gitignore" - Datei. Dies würde dazu führen, die ".gitignore" - Datei ignoriert, die von git. Ich weiß nicht wirklich denke, das ist eine gute Idee. Ich denke die ignorieren-Datei sollte version kontrolliert und nachverfolgt werden. Ich bin gerade dabei, diese draußen auf Vollständigkeit.
git rm --cached .gitignore
Können Sie auch einen globalen Benutzer git
.gitignore
- Datei, die automatisch angewendet wird, um alle deine repos. Dies ist nützlich für die IDE und den editor-Dateien (z.B.swp
und*~
Dateien für Vim). Change directory-Standorte suite Ihre OSHinzufügen, um Ihre
~/.gitconfig
DateiErstellen Sie eine
~/.gitignore
Datei mit Datei Muster werden ignoriertSpeichern Sie Ihre dot-Dateien in ein anderes repo-so haben Sie eine Sicherung (optional).
Jedes mal, wenn Sie kopieren, init-oder clone-repo-Ihre Globale gitignore-Datei verwendet werden, wie gut.
Wenn jemand schon Hinzugefügt
.gitignore
zu Ihrem repo, aber Sie wollen ein paar änderungen vornehmen und diese änderungen ignoriert, tun Sie den folgenden:git update-index --assume-unchanged .gitignore
Quelle.
.git/info/excludes
vorhanden ist.--assume-unchanged
existiert auch. Warum ist einer besser als der andere?.git/info/excludes
funktioniert nicht, wenn die Datei bereits verfolgt.--no-assume-unchanged
ist der richtige WegNachdem Sie den
.gitignore
Datei und verpflichten sich, es wird nicht mehr angezeigt, in der "nicht-Dateien" - Liste.Nur incase jemand anderes hat die gleichen Schmerzen, die wir hatten.
Wir wollten so schließen Sie eine Datei, die bereits begangen wurden.
Dieser post war viel nützlicher:
arbeiten mit .git/info/exclude zu spät
Konkret, was Sie brauchen, um zu ignorieren-Datei ist eigentlich mit dem Befehl git entfernen
Sehen git rm (http://www.kernel.org/pub/software/scm/git/docs/git-rm.html)
testen Sie es, indem Sie
git rm --dry-run *.log
(wenn Sie sagen wollte ausschließen, werden alle log-Dateien)
dieser Ausgabe, was wäre ausgeschlossen, wenn Sie lief.
dann
führen Sie es, indem Sie
git rm *.log
(oder was auch immer mit dem Namen Pfad /Ausdruck, den Sie möchten)
Dann fügen Sie eine
*.log
Zeile zu Ihrer.gitignore
Datei.git status
wenn Sie zeigen, bis in die Zukunft.Natürlich die .gitignore-Datei wird zeigen, bis auf den status, denn es ist nicht verfolgte, und git sieht es als eine leckere neue Datei zu Essen!!!
Da .gitignore ist eine nicht-Datei, es ist jedoch ein Kandidat, um ignoriert zu werden von git, wenn Sie es in .gitignore!
So, die Antwort ist einfach: fügen Sie einfach die Zeile:
zu Ihr .gitignore-Datei!
Und, im Gegensatz zu August ' s Antwort, ich sollte sagen, dass es nicht, dass die .gitignore-Datei sollte werden in Ihrem repository. Es passiert einfach, dass es kann werden, was oft bequem ist. Und es ist wahrscheinlich wahr, dass dies der Grund .gitignore erstellt wurde als alternative zu .git/info/exclude, die nicht über die option verfolgt werden, die durch das repository. Jedenfalls, wie Sie Ihren .gitignore-Datei ist völlig bis zu Ihnen.
Als Referenz, check out die gitignore(5) - Handbuchseite auf kernel.org.
Die Idee ist, Dateien, die speziell für Ihr Projekt in der
.gitignore
- Datei und (wie bereits erwähnt) hinzufügen in das repository. Zum Beispiel.pyc
und.o
Dateien, Protokolle, dass die testsuite erstellt, einige Geräte etc.Für Dateien, die Ihr eigenes setup erstellt, aber das wird nicht unbedingt angezeigt wird für jeden Benutzer (wie
.swp
- Dateien, wenn Sie vim benutzen, versteckte ecplise-Verzeichnisse und dergleichen) verwenden, sollten Sie.git/info/exclude
(wie bereits erwähnt).Zunächst, wie viele andere auch schon gesagt, Ihre
.gitignore
verfolgt werden sollen, die von Git (und sollte daher nicht ignoriert werden). Lassen Sie mich erklären, warum.(TL;DR: commit die
.gitignore
- Datei, und verwenden Sie eine die globalen.gitignore
, Dateien zu ignorieren, die erstellt werden, indem Sie Ihre IDE-oder Betriebssystem)Git ist, wie Sie wahrscheinlich bereits wissen, ein distributed version control system. Dies bedeutet, dass es erlaubt, Sie hin-und herschalten zwischen den verschiedenen Versionen (wenn auch die Entwicklung getrennt hat in verschiedenen Filialen) und es auch ermöglicht, dass mehrere Entwickler am gleichen Projekt arbeiten.
Obwohl die Verfolgung Ihrer
.gitignore
hat auch Vorteile beim Wechsel zwischen snapshots, der wichtigste Grund für die Begehung ist es, dass Sie die Datei weitergeben möchten, mit anderen Entwicklern, die an demselben Projekt arbeiten. Indem Sie sich verpflichten, die Datei in Git, anderen helfenden erhalten automatisch den.gitignore
- Datei, wenn Sie Klonen Sie das repository, so dass Sie nicht haben, um sorgen über versehentlich Begehen, eine Datei, die nicht begangen werden (z.B. log-Dateien, cache-Verzeichnisse, Datenbank-Anmeldeinformationen, etc.). Und wenn irgendwann das Projekt.gitignore
aktualisiert wird, können Sie einfach ziehen Sie diese änderungen anstatt die Datei manuell Bearbeiten.Natürlich wird es einige Dateien und Ordner, die Sie wollen, zu ignorieren, aber das sind speziell für Sie und nicht für andere Entwickler. Jedoch, diese sollte nicht in das Projekt
.gitignore
. Es gibt zwei andere Orte, wo Sie können, ignorieren von Dateien und Ordnern:.gitignore
. Der Vorteil ist, dass diese.gitignore
wird angewendet, um alle Repositorys auf Ihrem computer, so dass Sie nicht haben, wiederholen Sie diesen Vorgang für jedes repository. Und es ist nicht gemeinsam mit anderen Entwicklern, da Sie möglicherweise mit einem anderen Betriebssystem und/oder IDE..gitignore
noch in der globalen.gitignore
ignoriert werden kann mit explizite repository schließt inyour_project_directory/.git/info/exclude
. Diese Datei wird nicht gemeinsam mit anderen Entwicklern, und ist spezifisch für die einzelnen Repositorys.gitignore
.gitignore
wird nicht verhindern, dass Sie von Commits änderungen an dieser Datei. Selbst wenn dies möglich wäre, wie könnten Sie übernehmen die geänderten.gitignore
wenn es weist Git ignorieren sich selbst?Watch out für das folgende "problem" Manchmal möchte man hinzufügen, Verzeichnisse, aber keine Dateien innerhalb dieser Verzeichnisse. Die einfache Lösung ist das erstellen einer .gitignore mit folgendem Inhalt:
Diese Nähte funktionieren gut, bis Sie erkennen, dass das Verzeichnis nicht Hinzugefügt wurde (wie erwartet an Ihrem repository. Der Grund dafür ist, dass die .gitignore wird auch ignoriert, und dabei ist das Verzeichnis leer. Daher sollten Sie so etwas tun:
Scheint dies nur für das aktuelle Verzeichnis zu erhalten
Git
zu ignorieren-alle Dateien aus dem repository.update diese Datei
mit Ihrer wild-card, oder mit dem Namen
In meinem Fall ausschließen will ich eine vorhandene Datei.
Nur ändern .gitignore nicht funktionieren.
Ich folgte diesen Schritten:
Auf diese Weise habe ich gereinigt aus dem cache die Datei, die ich ausschließen wollten und nachdem ich ihn Hinzugefügt, um .gitignore.
Wenn Sie bereits eingecheckt sind .gitignore und Sie ignorieren möchten änderungen, check-out diese Antwort:
Navigieren Sie zu dem Basis-Verzeichnis des git-repo und führen Sie den folgenden Befehl ein:
Alle dot-Dateien werden ignoriert, darunter auch die lästigen .DS_Store, wenn Sie auf einem mac.
Es ist durchaus möglich, dass ein Endbenutzer haben will, Git ignorieren ".gitignore" - Datei einfach deshalb, weil die IDE-spezifischen Ordnern erstellt von Eclipse sind wohl nicht das gleiche wie NetBeans oder eine andere IDE verwenden. So behalten Sie den source-code IDE antagonistischen es macht das Leben einfach, um eine benutzerdefinierte git ignorieren, die nicht gemeinsam mit dem gesamten team als einzelne Entwickler, die sich mit anderen IDE.
.gitignore
ist zu ignorieren anderen - Dateien. git ist über Dateien, so ist dies über das ignorieren von Dateien. Aber wie git funktioniert aus Dateien, die diese Datei muss da sein, da der Mechanismus, um eine Liste der anderen Datei Namen.Wenn Sie genannt wurden
.the_list_of_ignored_files
es könnte ein wenig mehr auf der Hand.Einer Analogie ist eine Liste von to-do-Elemente, die Sie NICHT wollen, zu tun. Wenn du die Liste noch irgendwo eine Art "to-do" - Liste, die Sie nicht über Sie wissen.
Ich denke, es gibt Situationen, in denen das ignorieren der .gitignore ist sehr nützlich. Zum Beispiel, wenn Sie haben mehrere teams oder ein großes team arbeitet auf der gleichen Codebasis. In diesem Fall müssen Sie bestimmte Konventionen, eine solche Konvention ist in Bezug auf das, was ignoriert wird, in das git-repo. Es ist in der Regel über das ignorieren von Dateien und Verzeichnissen erstellt von IDE oder OS, generierten logs, etc.
Jedoch, es ist eine Kraft, die tendenziell einzuführen, "nicht-konventionelle" änderungen
.gitignore
- Datei. Die.gitignore
- Datei kann weiter bearbeitet werden durch unverantwortliche person, die durch Fehler, durch ein Werkzeug, das verwendet wird, oder in irgendeinem anderen Fall.Haben, eine Gegenkraft zu dieser, die wir tun können, wie folgt:
.gitignore
Datei "versiegelt" auf diese Weise.Den "versiegelt"
.gitignore
Datei kann geändert werden, nur lokal, ohne Vermehrung, die wechsler zu anderen Mitgliedern der Mannschaft(en). Jedoch, wenn eine änderung ist allgemein vereinbart, das ganze team(s), als es möglich ist "unseal" es, es ändern und als "Dichtung" wieder. Das kann nicht getan werden, indem Fehler, nur absichtlich.Leider kann man das nicht 100% geschützt vor der Dummheit, aber auf diese Weise haben Sie alles getan, was Sie können, um zu verhindern, dass dumme Dinge passieren.
Wenn Sie haben ein relativ kleines team mit sehr guten Fachleuten, als wäre dies nicht wichtig sein, aber auch diese Jungs würden uns freuen, haben Sie eine Sache weniger sorgen zu machen.
Mit
.git/info/exclude
ist cool, wenn Sie nichts dagegen Unternehmen können Infrastruktur-Einstellungen, nur für Ihren eigenen a**, nicht einen Fehler machen.Aus dem Stand zeigen, was richtig und was falsch ist, ich Stimme dafür .gitignore Eintrag in
.gitignore
Datei und geben jedem die Freiheit, zu tun, lokal was auch immer Sie wollen, aber nicht eindringenden andere.Fand ich, dass der beste Ort, um Leute zu ignorieren die lästigen
.DS_Store
- Dateien ist in der.git/info/exclude
Datei.IntelliJ scheint, die dies automatisch tun, wenn Sie ein git-repository in es.