Git: отменить все изменения в разветвленной местной ветке

У меня есть локальная ветка тем, которая отслеживает удаленную ветку. Ради аргумента скажем, что истории коммитов выглядят так:

A--B--C--O1--O2--O3 (origin/phobos)
       \
         L1--L2--L3 (phobos)

Изучив относительные истории коммитов, теперь я хочу отменить все изменения в локальной ветке phobos и вернуть их обратно в являясь прямой копией origin/phobos, так что локальная история выглядит следующим образом:

A--B--C--O1--O2--O3 (phobos origin/phobos)

Я действительно не хочу, чтобы локальные изменения в ветви phobos, и я действительно не хочу, чтобы слияния отображались в хранилище происхождения впоследствии. (Так что просто объединение не то, что я имею в виду.)

Кажется, это должно быть очень легко, но мой гугл-фу подвел меня. Как мне это сделать?

git
90 голосов | спросил Electrons_Ahoy 1 MarpmMon, 01 Mar 2010 22:58:48 +03002010-03-01T22:58:48+03:0010 2010, 22:58:48

2 ответа


0

Удалите ветвь и создайте ее заново.

$ git branch -D phobos
$ git checkout --track -b phobos origin/phobos
ответил mipadi 1 MarpmMon, 01 Mar 2010 23:03:50 +03002010-03-01T23:03:50+03:0011 2010, 23:03:50
0
git checkout phobos
git reset --hard origin/phobos

Это говорит Git, что нужно сбросить заголовок phobos для того же коммита, что и origin/phobos и обновить рабочее дерево для соответствия.

ответил Dan Moulding 1 MarpmMon, 01 Mar 2010 23:16:26 +03002010-03-01T23:16:26+03:0011 2010, 23:16:26

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132