Wie kann ich .pycDateien in Git ignorieren ?
Wenn ich es .gitignorehineinlege, funktioniert es nicht. Ich brauche sie, um nicht verfolgt zu werden und nicht auf Commits überprüft zu werden.
Wie kann ich .pycDateien in Git ignorieren ?
Wenn ich es .gitignorehineinlege, funktioniert es nicht. Ich brauche sie, um nicht verfolgt zu werden und nicht auf Commits überprüft zu werden.
Antworten:
Steck es rein .gitignore. Aber von der gitignore(5)Manpage:
· If the pattern does not contain a slash /, git treats it as a shell glob pattern and checks for a match against the pathname relative to the location of the .gitignore file (relative to the toplevel of the work tree if not from a .gitignore file). · Otherwise, git treats the pattern as a shell glob suitable for consumption by fnmatch(3) with the FNM_PATHNAME flag: wildcards in the pattern will not match a / in the pathname. For example, "Documentation/*.html" matches "Documentation/git.html" but not "Documentation/ppc/ppc.html" or "tools/perf/Documentation/perf.html".
Geben Sie also entweder den vollständigen Pfad zum entsprechenden *.pycEintrag an oder legen Sie ihn in einer .gitignoreDatei in einem der Verzeichnisse ab, die vom Repository-Stamm (einschließlich) führen.
Sie sollten eine Zeile hinzufügen mit:
*.pyc
in die .gitignoreDatei im Stammordner Ihres Git-Repository-Baums direkt nach der Repository-Initialisierung.
Wie ralphtheninja sagte, wenn Sie es vorher vergessen haben, wenn Sie nur die Zeile zur .gitignoreDatei hinzufügen , werden alle zuvor festgeschriebenen .pycDateien weiterhin verfolgt, sodass Sie sie aus dem Repository entfernen müssen.
Wenn Sie sich auf einem Linux-System befinden (oder "Eltern & Söhne" wie ein MacOSX), können Sie dies schnell mit nur diesem einzeiligen Befehl tun, den Sie vom Stammverzeichnis des Repositorys ausführen müssen:
find . -name "*.pyc" -exec git rm -f "{}" \;
Dies bedeutet nur:
Suchen Sie ausgehend von dem Verzeichnis, in dem ich mich gerade befinde, alle Dateien, deren Name mit der Erweiterung endet
.pyc, und übergeben Sie den Dateinamen an den Befehlgit rm -f
Nach dem *.pyc Dateien Löschen von git als nachverfolgt Dateien, begehen diese Änderung in das Repository, und dann können Sie endlich die hinzufügen *.pycLeitung zur .gitignoreDatei.
(angepasst von http://yuji.wordpress.com/2010/10/29/git-remove-all-pyc/ )
git rm --cached *.pycaus dem Verzeichnis der obersten Ebene entfernen, um sie von git und von Ihrem lokalen Computer zu entfernen . Habe es von hier bekommen
Wahrscheinlich haben Sie sie in das Repository vor der Inbetriebnahme hinzugefügt *.pycin .gitignore.
Entfernen Sie sie zuerst aus dem Repository.
Ich versuche, den Satz eines früheren Beitrags zu verwenden und arbeite nicht rekursiv. Dann lese ich etwas Hilfe und erhalte diese Zeile:
find . -name "*.pyc" -exec git rm -f "{}" \;
pd ist erforderlich, um * .pyc in die .gitignore-Datei einzufügen, damit git sauber bleibt
echo "*.pyc" >> .gitignore
Genießen.
Danke @Enrico für die Antwort.
Hinweis: Wenn Sie virtualenv verwenden, befinden sich .pycin dem Verzeichnis, in dem Sie sich gerade befinden, mehrere weitere Dateien, die von seinem Befehl find erfasst werden.
Beispielsweise:
./app.pyc
./lib/python2.7/_weakrefset.pyc
./lib/python2.7/abc.pyc
./lib/python2.7/codecs.pyc
./lib/python2.7/copy_reg.pyc
./lib/python2.7/site-packages/alembic/__init__.pyc
./lib/python2.7/site-packages/alembic/autogenerate/__init__.pyc
./lib/python2.7/site-packages/alembic/autogenerate/api.pyc
Ich nehme an, es ist harmlos, alle Dateien zu entfernen, aber wenn Sie nur die .pycDateien in Ihrem Hauptverzeichnis entfernen möchten, tun Sie es einfach
find "*.pyc" -exec git rm -f "{}" \;
Dadurch wird nur die app.pycDatei aus dem Git-Repository entfernt.