gitignore funktioniert einfach nicht. Ich kann es nicht mehr zu ignorieren .DS_Store & .gitignore Dateien
Habe ich .gitignore
d .DS_Store
und .gitignore
- Dateien. Aber noch sehen, wie Sie in der "git status".
Kann mir jemand erklären, wie ich sicherstellen kann, dass die Dateien, die ich versuche zu ignorieren, nicht zeigen, bis während der Prüfung der status?
git status
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# .DS_Store
# .gitignore
Habe ich die .DS_Store
Datei in alle Unterordner von meinem repository. So möchte ich alle diejenigen um ignoriert zu werden. Was soll ich tun?
Habe ich konfiguriert .gitignore
- Datei in das root-Verzeichnis von mein-repository.
Sollte ich kopieren Sie diese auf alle Unterordner für git ignorieren diese Dateien?
Ist das hinzufügen .gitignore
im .gitignore
- Datei nicht in Ordnung sind?
EDIT: Jan 21st 2014 ==================
Ich kann immer noch nicht verstehen.
Die Kommentare unten nicht wirklich helfen mich. Also bin ich Umbuchung meiner Abfrage.
Unten ist ein Ausschnitt von meiner git status
Ausgabe. Die eigentlich Ausgabe umfasst einige Seiten. Und alle Dateien, die Sie in dieser Ausgabe sind Dateien/Ordnern, die ich nicht wollen, in meinem repo. Diese sind nicht Dateien, so habe ich nie git add
ed Sie. Aber wenn ich ein neues Projekt erstellen, ich habe die Suche nach den zugehörigen Dateien/Ordner, die in dieser großen Liste, bevor Sie Sie hinzufügen, was Sie in den ganzen Prozess ein wenig irritierend.
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# ../../.DS_Store
# ../../Classes/
# ../.DS_Store
# ../Basics/.DS_Store
# ../adt/.metadata/
# ../adt/Fundamentals/.classpath
# ../adt/Fundamentals/.project
# ../adt/Fundamentals/.settings/
# ../adt/Fundamentals/bin/
# .DS_Store
# .metadata/
Unten ist mein .gitignore
- Datei. Kann jemand bitte darauf, mein Fehler?
*.class
*.pyc
colors
**/.DS_Store
# Mobile Tools for Java (J2ME)
.mtj.tmp/
# Package Files #
*.jar
*.war
*.ear
#Eclipse files
.project
# folders
.classpath/
.settings/
.metadata/
WEB-INF/lib/
META-INF/
Servers/
# Byte-compiled /optimized /DLL files
__pycache__/
*.py[cod]
# C extensions
*.so
# Distribution /packaging
bin/
build/
develop-eggs/
dist/
eggs/
lib/
lib64/
parts/
- Könnte Sie posten Sie Ihre .gitignore-Datei. Könnte Sie auch
git add .gitignore
- Ich möchte vermeiden, dass
.gitignore
in einen "ignorieren" - Datei. Diese Datei ist gedacht, um Teil des Repositorys. Für die lokale ignoriert, die.git/info/exclude
Datei ist viel die gleiche Sache, aber nicht in der repository. Shared ignoriert in.gitignore
persönliche Termine in.git/info/exclude
.
Du musst angemeldet sein, um einen Kommentar abzugeben.
.gitignore
. Ich glaube nicht, dass die ignore-Funktion funktioniert, wenn Sie es nicht haben in Ihrem repository. Ich bin mir nicht sicher, obwohl..gitignore
. Wenn Sie wollen, dass Sie ignoriert werden, nachdem Sie Hinzugefügt wurden, um das repository bereits, Sie haben, um Sie zu entfernen mitgit rm filename
ersten.Wenn Sie Sie ignorieren wollen eine änderung an einer Datei, die von git verwaltet können Sie festlegen, git, dass es sollte davon ausgehen, dass die Datei nicht geändert hat:
und starten Sie die Nachverfolgung von änderungen wieder tun:
wenn Sie bereits Hinzugefügt haben, eine Datei, die komplett ignoriert werden sollen (.gitignore) müssen Sie
git rm
es zuerst.Referenz: https://www.kernel.org/pub/software/scm/git/docs/git-update-index.html
Quelle: http://blog.pagebakers.nl/2009/01/29/git-ignoring-changes-in-tracked-files/
Dies ist, was Ihr
.gitignore
Aussehen sollte:Auch, die
.gitignore
soll verfolgt werden, zu ignorieren, macht keinen Sinn. So, nachdem Sie aktualisiert haben, die Datei enthält nur.DS_Store
tun:.gitignore
begangen wird, gibt es keine Notwendigkeit zu haben.gitignore
geschrieben.gitignore
selbst, weil es wird nicht länger ein nicht-Datei..gitignore
stellen Sie sicher, dass ich nicht sehen, wie Sie in der Nicht verfolgte Dateien-Liste?.gitignore
Datei selbst, da Sie vermutlich wollen, ignorieren Sie diese Dateien everywere (ie. andere Mitglieder arbeiten daran).Warum bist du ignorieren
.gitignore
? Dies macht keinen Sinn. Wenn Sie möchten, zu ignorieren, manche Dateien nur lokal (d.h. nicht verfolgen und veröffentlichen Sie diese Einstellung, um die remote-repository), dann verwenden Sie.git/info/exclude
statt. Fügen Sie einfach.DS_Store
zu, das ist alles.Hatte ich ein Problem bekommen
.DS_Store
ignoriert, wo das problem war, dass es sich schon engagiert sich für die repo. Entfernen Sie das Problem gelöst.Fügen Sie die Zeilen
Ich das gleiche Problem. Die Lösung ist das hinzufügen von ein .gitignore unter Ihrem home-Verzeichnis zuerst.
Mein Ende repository .gitignore erscheint nicht mehr im index-tracking.
Dies ist ausgehend von Jakub Jirutka Antwort. Ich war ein wenig verwirrt auf den ersten Blick, aber ich versuchte es und es funktionierte. Hier ist seine Antwort angegeben ist - hoffentlich - klar werden.
Seine Antwort einfach ausgedrückt: speichern unerwünschter Dateien in
.git/info/exclude
(das ist in jedem git-repository). Setzen Sie jedes in eine neue Zeile.Den
.gitignore
- Datei ist nützlich, zu helfen, ignorieren von Dateien und Verzeichnisse, die Sie kennen, sind oder werden generiert, aber unerwünscht sind. Die Tatsache, dass mangit add .gitignore
und dann commit und push es ist wirklich nützlich. Beim Klonen das repository auf einem anderen computer, zum Beispiel, alle Dateien, die ignoriert werden sollen (nach einem./configure; make; sudo make install;
zum Beispiel, in der Regel erzeugt die Beispiel-Dateien und viele andere links) wird ignoriert werden (wenn Sie in der.gitignore
.Aber manchmal ist man nicht sicher, ob eine Datei gesucht wird, die im repository oder will die Datei nur noch außerhalb des git-Steuerung, als ob es waren in einem nicht-git-kontrollierten Verzeichnis. Diese kann getan werden, indem diese an die exclude-Datei innerhalb der
exclude
Datei im.git/info
Verzeichnis.Jedes git-repository hat .git-Ordner. Gänzlich ausschließen einer Datei oder eines Verzeichnisses, gehen an die " good ole terminal
cd
an die Wurzel des Repositorys (D. H.cd src/best_repo_eva
). Dann werden Sie sehen, eine.git/
. Danncd .git/info/
. Es wird wahrscheinlich nur eine Datei namensexclude
. Verwenden Sie Ihre Lieblings-editor (nur ein Scherz; Sie kann nur mit Schmetterlingsflügeln zu konzentrieren, die kosmische Strahlung in der oberen Atmosphäre spiegeln die richtigen bits in Ihr Laufwerk Plattenteller 😉 zum Bearbeiten derexclude
solche, die es enthält die Dateien, die Sie ausschließen möchten, auf neuen Linien.Einfachere Lösung: Sie haben zwei Dateien, die Sie wollen, ausgeschlossen:
tmp1
undignoreadf
Gehen zum terminal und...
cd src/best_repo_eva
echo -e "tmp
Registerkarte\n ign
Registerkarte" >> .git/info/exclude
Die Tabletten, natürlich nur funktionieren, wenn Sie Ihr terminal unterstützt. Hinweis: die
-e
(unterstützt backslash-escapes) und die\n
(die betont wird durch ein Leerzeichen) zwischen den beiden Dateien.Speichern eine Menge von Dateien mit einem ähnlichen Ende, könnte so einfach wie
cd src/best_repo_eva
dannecho -e $(ls -1 | grep "tmp") >> .git/info/exclude
(das istls -ONE
nichtls -L
- beachten Sie, dassls -a -1
funktioniert nicht, leider). Das wäre speichern Sie alle Dateien, die enthalten die Sequenz "tmp" in der exclude Datei.Ich hatte exakt das gleiche Problem unter Mac OS X. ich hatte .gitignore-Datei im repo, aber es will einfach nicht funktionieren.
Was komisch war, wenn ich wollte drucken .gitignore-Inhalte auf die Konsole mit der
cat
Befehl es gedruckt, als es leer war. Wenn Sie mit vim geöffnet, es schien, als normal.Die Lösung war, die Datei zu löschen, eine neue erstellen und dann den Inhalt wieder in ihm. Danach ist das ignorieren von Dateien angefangen zu arbeiten und wenn ich fertig
cat .gitignore
es richtig gedruckt.