после обновления на ветке, как обновить master, чтобы соответствовать этой перебазированной ветке? - PullRequest
1 голос
/ 28 ноября 2010

Я сделал много перебазировок в тестовой ветке GIT. Перебазировка была сделана по двум причинам: # 1: интегрировать изменения в родительский ствол git-svn; # 2: очистить мою локальную историю при подготовке к передаче кода другому разработчику.

У меня есть тестовая ветвь так, как я хочу, все тесты проходят и т. Д. Теперь я хочу, чтобы master выглядел так же, как моя тестовая ветвь.

Какой предпочтительный способ сделать это? Если бы мастера еще не было, я бы просто git clone это сделал, но есть ли другой лучший способ заставить существующую ветку выглядеть точно так же, как anohter (включая историю)?

Ответы [ 3 ]

4 голосов
/ 24 декабря 2010

Удаление ветки и воссоздание ее там, где вы хотите, работает, но это стоит вам ваших повторных флагов - записи того, куда ветка указала в прошлом. Два более чистых способа:

# if you want the branch checked out:
git checkout master
git reset --hard <other-branch>

# or, if it's not checked out:
git branch -f master <other-branch>
3 голосов
/ 28 ноября 2010

Правильный способ сделать ветку похожей на другую (включая историю) - просто создать новую ветвь.

Ветвь master - это просто другая ветвь (git просто устанавливает ее как значение по умолчанию, когдаинициализация нового репозитория, но вы можете установить собственную ветку по умолчанию).

Если я вас правильно понимаю, просто удалите ветку master и создайте новую ветку с именем master, используя testфилиал.

0 голосов
/ 28 ноября 2010

Что я делаю, это объединяю свою рабочую ветвь с моей главной веткой (в ней есть мои инициалы с префиксом) Затем я толкаю этого мастера, который один коммиттер просматривает и вливается в настоящего мастера.

так что ответ, слияние, я думаю

...