2016-11-03 6 views
0

У меня есть главная ветвь, называемая «собака», которую я совершаю каждый день. Сегодня мой босс сказал, что я допустил ошибку, мне пришлось создать еще одну ветку «кота» неделю назад и поместить все мои коммиты там в течение недели.Как сделать ветку и вернуть основную ветку в какой-то момент?

Хорошо, теперь уже слишком поздно.

Возможно ли это сделать сейчас: создать ветку, как будто неделю назад, и переместить все ее там, чтобы текущая «собака» выглядела так, как будто никто не совершал ее в течение всей недели?

+0

Вы уже наложили фиксации на пульт? – ckruczek

+0

Да, я сделал, я толкнул их всех ... – shal

+1

Хорошо, тогда пошли с ответом @ Travo, но имейте в виду, если вы нажмете силу, вы также уничтожите всю удаленную историю, и на это повлияет другой разработчик. – ckruczek

ответ

1

Вот мой теоретический курс действий:

Шаг 1: Переименовать текущую ветвь от dog к cat.

git branch -m <oldname> <newname>

, который превращается в

git branch -m dog cat

Шаг 2: Создать новую ветку dog от последней фиксации вы хотите там быть.

Для этого, получить последний коммит вы хотите dog филиал иметь и сделать следующее:

git branch dog <sha1-of-commit>

ИЛИ

git checkout -b dog <sha1-of-commit>

Если вы уже толкнул происхождения, вам может потребоваться до --force некоторые вещи.