2013-12-11 5 views
9

Ich muss auf file.txt lokal und in Git arbeiten, mit unterschiedlichem Inhalt. Ich möchte, dass Git mir nicht sagt, dass es Änderungen an dieser Datei gegeben hat.Wie ignoriert man die existierende Datei in Git?

Ist das möglich?

+1

möglich Duplikat [Begehen Machine Specific Aufbau Dateien] (http: // stackoverflow.com/questions/1396617/committing-machine-spezifische-configuration-files) – Senseful

Antwort

13

Eigentlich unverändert Angenommen, Sie --skip-worktree, nicht --assume-unchanged . Here's a good explanation why.

So git update-index --skip-worktree file.txt

TLDR; --assume-unchanged ist für die Leistung, für Dateien, die nicht geändert werden (wie SDKs); --skip-worktree ist für Dateien, die auf Remote vorhanden sind, aber lokale (nicht geordnete) Änderungen vornehmen sollen.

+0

Sie haben Recht, thx – kassie

+1

Bitte fügen Sie den vollständigen Befehl zu Ihrer Antwort ('git update-index ...'); Einige von uns sind wahre Git Neulinge und ich musste unten @ @ Janos Antwort zu ergänzen Ihre;) –

+0

@NicolasMiari getan. Danke für den Vorschlag. –

2

Wenn das Ändern der Datei .gitignore keine Option ist (weil es in git selbst überprüft wird), sollten Sie die Verwendung von .git/info/exclude in Betracht ziehen.

11

Vielleicht möchten Sie "vorgeben", dass die Datei nicht geändert wurde, als es tatsächlich tat? Sie können das tun dies wie:

git update-index --assume-unchanged file.txt 

dies später rückgängig machen:

git update-index --no-assume-unchanged file.txt 

eine Liste der Dateien anzuzeigen, die auf diese Weise gekennzeichnet sind:

git ls-files -v | grep '^[a-z]' 

UPDATE

Wie Kommentare darauf hingewiesen haben, ist dies wahrscheinlich nicht das, was Sie möchte tun. Ein better answer wurde von @Tom Auger gepostet, verwenden Sie stattdessen.

+0

ja, das hat funktioniert, danke! – kassie

0

in Eclipse Luna kann diese [mit EGit Plugin Ich glaube] getan werden, indem dies zu tun: Rechtsklick auf Datei -> Team -> Erweitert ->

1

enter image description here enter image description here

Alles, was Sie brauchen, ist die more Taste in sourcetree nur auf der rechten Seite des Dateinamens im unstaged Dateien Abschnitt zu klicken. Klicken Sie auf ignore, und führen Sie im Quellbaum die gewünschte Aktion für diese Datei oder alle Dateien desselben Typs aus.

1

SOURCETREE Terminal-Codes

Add ignorieren Datei:

git update-index --skip-worktree index.php 

Extract ignorieren Datei:

git update-index --no-skip-worktree index.php 

Liste ignorieren Dateien:

git ls-files . --ignored --exclude-standard --others 
+0

Gute Antwort für mich, weil ich SourceTree verwende. Das hat für mich funktioniert. – pixelmeow

Verwandte Themen