2012-04-06 5 views
32

У меня есть ветка с реальными источниками, и я не совершал никаких коммитов в течение длительного времени, чтобы освоить, и на данный момент это полностью устарело. Я хочу просто заменить содержимое мастера содержимым моей ветви. Один из способов сделать это - проверить как ветку, так и мастер, удалить содержимое мастера и скопировать содержимое из ветки в мастер и после этого нажать результат для освоения.Git - переместить ветвь к хозяину

Это работает, но я считаю, что для этого нужно выполнить некоторую команду git, чтобы сделать это проще.

Кто-нибудь знает, как это сделать?

+0

Откуда вы знаете, что на хозяине ничего не осталось? Вы можете проверить с помощью «git log branch..master», чтобы узнать, есть ли какие-либо коммиты на хозяине, а не на ветке. Если они есть, то «git checkout master»; git merge branch "будет включать изменения в эти коммиты. – Kent

ответ

56

Вы можете использовать следующую команду, чтобы иметь основную точку в новое место:
git branch -f master branchToMoveMasterTo

Что это на самом деле делает создает новую ветвь под названием master, что указывает на branchToMoveMasterTo. Поскольку у нас уже есть ветвь с именем master, нам нужен флаг -f, чтобы сказать, что мы хотим удалить оригинал master

+0

Этот ответ должен быть определенно принят! – user984621

+4

спасибо jesus – dezman

+0

Это прекрасно работает. Но есть ли способ сохранить историю старого мастера? Я имею в виду, как это может выглядеть как обычная фиксация, но меняет все? –

Смежные вопросы