Хорошо, этот вопрос задавался много-много раз, и есть десятки разных ответов. Большинство из них включают в себя сброс какого-либо рода, и каждый сопровождается оговорками и особыми случаями.
Я проверил ветку, например, mybranch /velop. чтобы протестировать, я изменил некоторые файлы (слишком много, чтобы их можно было исправить отдельно с помощью «get checkout»), и добавил некоторые файлы (слишком много, чтобы удалить вручную)
Теперь я хочу получить последнюю версию mybranch / develop , которые другие разработчики изменили, но не могут, конечно, из-за локальных изменений, которые я хочу отменить.
Я не зафиксировал, поставил или что-то еще.
Мой go - метод для повторного запуска состоит в том, чтобы удалить репо, клонировать его, а затем снова оформить ветку.
Однако репо теперь составляет 5 ГБ, а в нашем офисе у нас всего 5 Мбит, поэтому это занимает несколько дней. Я должен был сделать локальную копию репозитория перед изменением файлов, чтобы я мог копировать его обратно без риска.
Я попытался прочитать документацию по перезагрузке, но для этого требуется значительная копия умственные способности, чтобы понять сложные и подробные внутренние работы git.
Я предполагаю, что мне нужно выполнить "git reset --hard", но чтобы избежать нанесения непоправимого ущерба, я хотел бы проверить, не сломается ли что-нибудь, и это "правильное" решение.
Действительно, я хочу снова проверить ту же ветку и игнорировать (заменить) локальные изменения, которые могут включать новые файлы, новые каталоги, измененные файлы и т. Д. c.
что-то вроде "git checkout -ignore_warnings" или "git checkout -force"
Я вижу, есть эта команда "git checkout -f BRANCH-NAME"
Так может Я делаю "git checkout -f mybranch / develop"?
Если так, то почему все рекомендуют использовать сброс?
== ОБНОВЛЕНИЕ ==
Хорошо, я попробовал "git checkout -f -", и это не сработало. Он избавился от ошибки измененных файлов, но не от добавленных файлов.