2012-06-18 14 views
11

Chcę tylko zaktualizować moje lokalne pliki git. ale za każdym razem, gdy próbuję ciągnąć i otrzymuję błąd, mówiąc, że najpierw muszę zatwierdzić pewien plik. jaki jest sposób aktualizacji lokalnego pliku bez użycia commit?git pull (tylko aktualizacja lokalnego pliku)

tutaj jest komunikat o błędzie

$ git ciągnąć Wprowadź hasło dla klucza „/c/Users/me/.ssh/id_rsa”: Aktualizacja 4dsdSe6e..70fb5b6 błąd: zmiany lokalne na następujące pliki zostaną nadpisane przez scalenie: grails-app/conf/DataSource.groovy Zatwierdź zmiany lub przechowuj je przed scaleniem. Abortowanie

Odpowiedz

19

Jeśli nie chcesz do zatwierdzenia, musisz przechować swoje zmiany. To brzmi jak to, czego szukasz:

git stash save "Changes I don't want to commit yet" 
git pull 
git stash pop 

Pierwsza linia przechowuje zmiany na stosie i przywraca kod do ostatniego zatwierdzenia. Stamtąd możesz ciągnąć jak zwykle. Po wyciągnięciu prześlij zmiany ze swojego skrytka z powrotem na swój kod. Pozwól, że wykonasz ciąg bez zatwierdzania swojego kodu. Możesz dowiedzieć się więcej o przechowywaniu here.

Mam nadzieję, że pomogło!

+0

Dziękuję, że to jest dokładnie to, czego potrzebowałem. – LynAs

+2

Bez problemu. Należy jednak pamiętać, że zatwierdzenie zmian nie jest tym samym, co przeniesienie ich do zdalnego repozytorium. Dobrą praktyką jest wczesne angażowanie się i często w git. Jeśli pochodzisz z tła CVS, może to wydawać się dziwne, ale jest to część tego, co sprawia, że ​​git jest tak potężny i wszechstronny. – bilalq

+0

Dziękuję, że było pomocne – LynAs

3

Próbujesz pobrać pliki, które usuną twoje zmiany. Po pierwsze, swoje zmiany z:

git commit -a -m "I have changed XXXX" 

następnie pociągnąć innych:

git pull 

Jeśli nie ma problemów do rozwiązania, można popchnąć zmiany:

git push