Я сделал git pull
и получил ошибку:
Следующие файлы рабочего дерева будут перезаписаны слиянием ... Пожалуйста, переместите или удалите их, прежде чем вы сможете слить.
Чтобы решить эту проблему, я сделал следующее:
git fetch
git reset --hard origin/master
Теперь, когда я это делаю git pull
, он говорит, что все в курсе. Я хочу знать, что именно происходит, когда я запускаю эти команды. Я знаю, что git fetch
получает изменения из удаленного репо без слияния их с моим локальным репо.
В чем смысл git reset --hard origin/master
? Как это работает?
git reset --hard HEAD@{1}
.HEAD@{1}
варьируется от ситуации к ситуации, поэтому рекомендуется поискать ее вgit reflog
.git fsck --lost-found
, но они не будут привязаны к исходному пути к файлу, и их будет сложно отсортировать.