2009-03-12 3 views
61

Wenn tun:Git, zeige mir nicht * .pyc in der Liste der nicht gekerbten Dateien!

>git status 

Es zeigt eine große Liste von .pyc Dateien unter "untracked Dateien". Ich möchte nicht, dass es diese zeigt, da es Rauschen hinzufügt.

Mit anderen Worten, wie mache ich Git Ignorieren. Pyc-Dateien die ganze Zeit und für alle Projekte?

EDIT

Ich bin nicht für eine Art und Weise zu fragen meine ignoriert Dateien auf andere Menschen zu verbreiten, ich habe wirklich nur bedeuten, „für alle Projekte“, was bedeutet, ich will nicht jedes neue Projekt konfigurieren, Ignoriere .pyc-Dateien.

UPDATE

Ich sollte hinzufügen, dass ich auf Fenster bin zu arbeiten, und meine git ist msysgit

Patterns, die ein Benutzer git will in allen Situationen (zB Backup oder vorübergehend ignorieren Dateien, die vom Editor des Benutzers erzeugt werden, gehen normalerweise in eine Datei, die von core.excludesfile in der ~/.gitconfig des Benutzers angegeben wird.

Ist .gitconfig eine Datei oder ein Ordner? Ich habe nicht so etwas in meinem Home-Verzeichnis (C:\users\<myusername>\)

UPDATE2

Vielen Dank allen für die Antworten,

löste ich die Probleme durch die Verwendung:

>git config --global core.excludesfile c:\git\ignore_files.txt 

und setzen * .pyc in c:\git\ignore_files.txt

Antwort

38
git config --global core.excludesfile "c:\program files\whatever\global_ignore.txt" 

Dann fügen Sie

*.foo 

zu dieser Datei.

+0

Dies funktionierte für ein Projekt, aber nicht für alle Projekte – hasen

+1

Hoppla. Verwenden Sie "git config --global core.excludesfile ...", um es in der globalen Konfiguration von Git festzulegen. Das sollte für alle Projekte funktionieren. – Bombe

+0

Große Antwort, arbeitete zum ersten Mal. Vielen Dank – dahui

3

Wenn ich mich erinnere, gibt es einen Weg zu se tup ein globales .gitignore ... Aber das Problem damit ist, dass du es nicht mit anderen Leuten teilen kannst (das heißt, andere Leute, die deinen Code ziehen, sehen die .pyc Dateien).

Also, IMHO, es ist besser, es einfach zu dem .gitignore für jedes Projekt, das Sie starten, hinzuzufügen. Ich halte aus diesem Grund eine Aktie .gitignore herum.

< flamebait>
Oder Sie bzr wechseln könnte, die mit einer vernünftigen Standardliste der Dinge kommt zu ignorieren^_^
</flamebait>

+0

'bzr' für mich gearbeitet ist in Python geschrieben. Es wäre unerwartet, wenn es Python-spezifische Sachen nicht gut behandeln würde. – jfs

+1

Das stimmt. Ich weiß nicht das volle Ausmaß der Defaults, aber ich weiß, dass sie auch Dinge wie Vim/Emacs Swap/Backup-Dateien, .o-Dateien usw. behandeln –

+0

man würde denken, es wäre vernünftig für bzr, .DS_Store-Dateien zu ignorieren mac, aber es ist nicht, svn ad ich erinnere mich. Ich denke, es ignoriert nur Pyc-Dateien standardmäßig ist es in Python geschrieben und wahrscheinlich auch in Emacs :) – Vasil

55

in der Datei Put ~/.gitignore:

*.pyc 

Run:

git config --global core.excludesfile ~/.gitignore 

Ich stimme zu @David Wolever Diese Option sollte mit Vorsicht verwendet werden, wenn überhaupt.

Die ("%HOME%\.gitignore" unter Windows) ist nur eine Konvention, die Sie jeden beliebigen Dateinamen verwenden können, z. B. "c:\docs\gitignore.txt".

+0

Beste Antwort. Kurz, auf den Punkt –

+0

Warum sollte dies mit Vorsicht verwendet werden? – LazerSharks

+0

@Gnuey: Dies ist eine globale Einstellung, die auf alle Ihre Git-Repositories angewendet wird. Verwenden Sie es nur für Dateien, die Sie ignorieren möchten * "die ganze Zeit und für alle Projekte" * – jfs

1

Könnten Sie nicht

* .pyc

zu Ihrem .gitignore hinzufügen?

+1

'.gitignore' für ein Git-Repository funktioniert nicht für" die ganze Zeit und für alle Projekte ". – jfs

+0

Nun, ich bin sorta neu zu Git – hasen

84

Wie in gitignore erwähnt, git hat 3 ignore files:

  • Muster, die Versionskontrolle und verteilt zu anderen Repositories über Klon sein sollte (dh Dateien, die alle Entwickler ignorieren wollen) sollten Gehen Sie in eine .gitignore file.

(das kümmert sich um aller Zeiten: Wenn man Ihre Repo-Klone, wird es die .gitignore Datei erhalten)

  • Muster, die zu einem bestimmten Repository spezifisch sind, die aber müssen nicht mit anderen verwandten Repositorys geteilt werden (z. B. Hilfsdateien, die im Repository gespeichert sind, aber für den Workflow eines Benutzers spezifisch sind), sollten in die Datei $ GIT_DIR/info/exclude gehen.

(nicht interessant in Ihrem Fall)

  • Patterns, die ein Benutzer git will in allen Situationen (zB Backup oder temporäre Dateien, die von der Benutzer-Editor der Wahl generierte) im Allgemeinen ignorieren gehe in eine durch core.excludesfile in der user's ~/.gitconfig angegebene Datei.

(nimmt Sorgen alle Projekte, aber nicht Allzeit, da es nicht repliziert wird, wenn man Ihre Repo-Klone.)

„Jederzeit für alle Projekte“ würden Mittel zum Beispiel eine benutzerdefinierte Shell für neue git Projekte zu schaffen, mit einem benutzerdefinierten .gitignore als erste Datei ist Teil des ersten begehen ...

+0

Wirklich klare Antwort. +1 – Paul

+0

+1: Umfassende Antwort. Außer Sie sollten erwähnen, dass 'core.excludesfile' * pro Projekt * sowie globale Einstellungen gesetzt werden können. – jfs

7

Eine andere Möglichkeit, einige Dateimuster zu ignorieren, ist: add * .pyc zu .git/info/excludes, dies ist ein viel sauberer Weg.

5

hinzufügen

*.pyc 

in.gitignore Datei

und führen diese

git config --global core.excludesfile .gitignore 

die

Verwandte Themen