2012-02-14 10 views
9

Kiedy git pull origin development, mam błąd:błąd: plik drzewo nieśledzonej roboczego

error: Untracked working tree file '<path-to-file>' would be overwritten by merge 

Powodem jest to, ponieważ jeden plik, który jest w remote development branch nie kładzie się do git w moim lokalnym projekcie (nie chcę ten plik w kontroli wersji, tak jak git rm). Ale na remote development plik ten kończy się kontrolą wersji

Jak rozwiązać ten problem? Zasadniczo chcę, aby zdalna gałąź również usunęła plik z kontroli wersji.

+0

Prawdopodobnie duplikat http://stackoverflow.com/questions/1125968/force-git-to-overwrite-local-files-on-pull – vpatil

Odpowiedz

4

Aby rozwiązać najbliższej problem, należy wykonać kopię zapasową pliku lokalnym, usuń oryginał, ciągnąć ze zdalnego oddziału, a następnie git rm (a następnie push, aby upewnić się, że zdalne ponowne użycie również usuwa plik). Następnie możesz umieścić plik kopii zapasowej z powrotem na miejscu i dodać linię do pliku .gitignore.

+0

Problem występuje, gdy git pull. –

+0

Będę edytować moją odpowiedź. Musisz usunąć lokalną, nieśledzoną kopię. Co się dzieje, że plik istnieje zdalnie, ale nie lokalnie. git nie pozwoli ci na nadpisanie lokalnego nieśledzonego pliku. –

2

Dzieje się tak ze względu na plik nieśledzonej zostanie zastąpiony przez nowy akt pochodzących z wniosku ciągnącej

Moja sugestia będzie:

git add . 
git stash 
git pull 

zasadzie dodawania plików, które nie są śledzone w repozytorium git i ukrywanie ich oraz wciąganie nowej wersji.