#git #github #fork #commit
Вопрос:
Я сделал «выборку и слияние», чтобы включить все коммиты, сделанные в исходном репо, за которым стояло мое разветвленное репо.
Однако мое разветвленное репо теперь на 3 коммита опережает первоначальное репо.
Я хочу просто удалить эти коммиты. Таким образом, конечный результат выглядит так, как будто я просто впервые разветвляю исходное репо.
Я так и не смог понять, как это сделать. Я смог найти в Интернете только то, как обновить исходное репо, запустив запрос на вытягивание.
Кроме того, есть ли простой способ просмотреть фактические коммиты, которые являются различиями между раздвоенными и исходными репозиториями?
Комментарии:
1. Вы можете использовать
git-reset
:git reset --hard <commit>
2. @joshmeranda Я надеялся, что есть возможность просто избавиться от всех различий, по которым мое раздвоенное репо впереди.
3. вот что сделает git reset. Это «сбросит» ветвь в предыдущее состояние (до того, как вы объединили свою вилку). Без
--hard
флага он сохранит изменения, чтобы вы могли просмотреть их перед удалением, но с флагом он удалит их автоматически.]
Ответ №1:
Ты можешь это сделать git reset --hard upstream/master
. Это приведет ГОЛОВУ вашего мастера в соответствие с тем, как выглядит ГОЛОВА мастера вверх по течению.
Имейте в виду, что если вы выполнили какую-либо работу, которая входит в 3 предстоящих коммита, она будет потеряна.