В чем смысл git reset - плохого происхождения/мастера?

Я сделал git pull и получил ошибку "Следующие рабочие файлы дерева будут перезаписаны слиянием... Пожалуйста, переместите или удалите их, прежде чем вы сможете объединить". Чтобы решить эту проблему, я сделал следующее

git fetch
git reset --hard origin/master

Теперь, когда я делаю git pull, он говорит все до настоящего времени. Я хочу знать, что именно происходит, когда я запускаю эти команды. Я знаю, что git fetch извлекает изменения из удаленного репо без объединения их в локальное репо.

В чем смысл git reset --hard origin/master? Как это работает?

Ответ 1

git reset --hard origin/master

говорит: выбросьте все мои поэтапные и неустановленные изменения, забудьте все на моей текущей локальной ветке и сделайте это точно так же, как origin/master.

Вероятно, вы хотели спросить об этом, прежде чем запускать команду. На деструктивный характер намекают те же слова, что и в "hard reset".