У мене поки немає представника, щоб коментувати інші відповіді, я просто хотів додати, що я натрапив на випадок, коли дві команди НЕ мають однакового ефекту. Я потрапив у дивний стан, тому це, безумовно, надзвичайний випадок. Ось що сталося:
Я був у філії, все чисто. Я перевірив master git checkout masterі виявив, git statusщо в існуючі файли були внесені зміни, не індексовані для коміту (так, у коді, який я щойно перевірив). Я спробував сховатись, щоб повернутися до чистого стану, схованка стверджував, що завершено, але git statusвсе ще залишався незмінним. Також пробував git reset --hard HEAD. Він також повідомив про успішне заповнення, але статус не відрізнявся. Я не міг перервати ці дивні зміни.
Однак git checkout -fвирішив це. Я зміг піти від цього дивного стану. Отже, принаймні в деяких аспектах ці два не однакові.