2013-12-11 18 views
9

Muszę pracować na file.txt lokalnie iw Git, z inną zawartością. Chcę, żeby Git nie powiedział mi, że nastąpiły zmiany w tym pliku.Jak zignorować istniejący plik w Git?

Czy to możliwe?

+1

możliwe duplikat [popełnienie Maszynie Specific Konfiguracja Pliki] (http: // stackoverflow.com/questions/1396617/commit-specific-configuration-files-files) – Senseful

Odpowiedz

13

Właściwie chcesz --skip-worktree nie --assume-unchanged . Here's a good explanation why.

Więc git update-index --skip-worktree file.txt

TLDR; --assume-unchanged jest dla wydajności, dla plików, które się nie zmienią (jak SDK); --skip-worktree jest dla plików istniejących na zdalnym serwerze, ale chcesz wprowadzić zmiany lokalne (nieśledzone).

+0

masz rację, thx – kassie

+1

Proszę dodać pełne polecenie do swojej odpowiedzi ('git update-index ...'); Niektórzy z nas są prawdziwymi nowicjuszami i musiałem przeczytać poniżej odpowiedź @ josos, aby uzupełnić twoje;) –

+0

@NicolasMiari done. Dzieki za sugestie. –

2

Jeśli modyfikowanie pliku .gitignore nie jest opcją (ponieważ jest ono zaznaczone w samym git), należy rozważyć użycie .git/info/exclude.

11

Może chcesz "udawać", że plik się nie zmienił, kiedy faktycznie to zrobił? Można to zrobić tak:

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

Aby to cofnąć później:

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

Aby wyświetlić listę plików, które są oznaczone w następujący sposób:

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

UPDATE

Jak podkreślono w uwagach, najprawdopodobniej NIE jest to czym chcę zrobić. A better answer został opublikowany przez @Tom Auger, użyj zamiast tego.

+0

Tak, to działało, dziękuję! – kassie

0

w Eclipse Luna, można to zrobić [z Egit wtyczki myślę] w ten sposób: prawym przyciskiem myszy plik -> Team -> Zaawansowane -> Załóżmy niezmienione

1

enter image description here enter image description here

Wystarczy kliknąć przycisk w SourceTree more tylko na prawej stronie nazwy pliku, w sekcji Pliki Unstaged. Kliknij przycisk ignore, aby drzewo źródłowe wykonało żądaną akcję dla tego pliku lub wszystkich plików tego samego typu.

kody
1

SourceTree terminalowe

Dodaj plik pomijania:

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

Extract ignorować plik:

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

listy ignorowanych plików:

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

Dobra odpowiedź dla mnie, ponieważ używam SourceTree. To działało dla mnie. – pixelmeow

Powiązane problemy