Jak wymusić zastąpienie plików lokalnych w pliku git pull
?
Scenariusz jest następujący:
- Członek zespołu modyfikuje szablony witryny, nad którą pracujemy
- Dodają kilka obrazów do katalogu obrazów (ale zapomina dodać je pod kontrolą źródła)
- Później wysyłają mi zdjęcia pocztą
- Dodaję obrazy pod kontrolą źródła i wypycham je do GitHub wraz z innymi zmianami
- Nie mogą pobierać aktualizacji z GitHub, ponieważ Git nie chce zastępować swoich plików.
To jest błąd, który otrzymuję:
błąd: nieśledzony plik drzewa roboczego „public / images / icon.gif” zostałby zastąpiony przez scalenie
Jak zmusić Gita do zastąpienia ich? Osoba jest projektantem - zwykle wszystkie konflikty rozwiązuję ręcznie, więc serwer ma najnowszą wersję, którą wystarczy zaktualizować na swoim komputerze.
git reset --hard origin/branch_to_overwrite
git branch <branch> -D
2. Zresetuj do zatwierdzenia przed konfliktem: git reset <commit> --hard
3. Ponownie utwórz gałąź: git branch <branch>
4. Ustaw śledzenie na serwerze: git --set-upstream-to=origin/<branch> <branch> 5. Pull:
git pull`
git config core.autocrlf false; git ls-files -z | xargs -0 rm; git checkout .