Как правильно перебросить ветку мерзавца в другую? - PullRequest
2 голосов
/ 17 января 2010

У меня есть 2 ветки в Git, а именно master и dev.

Я хотел бы преобразовать содержимое ветки dev в master, то есть я хочу изменить состояние dev, и изменить его на то, как оно выглядит в master, как я могу это сделать?

Спасибо!

1 Ответ

2 голосов
/ 17 января 2010

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

git checkout dev
git reset --hard master

Если dev является опубликованной веткой, то вы, вероятно, хотите сохранить историю коммитов. Самое логичное, что нужно сделать - это объединить master в dev и затем сбросить дерево, чтобы оно соответствовало master.

1010 * Е.Г. *

git checkout dev
git merge master

# ... resolve any conflicts and commit if needed.

# Reset the tree to master
git reset --hard master

# Reset just the branch pointer to the merge
git reset --soft HEAD@{1}

# Commit a 'revert' of the differences to dev
git commit -m "Revert unneeded dev changes"

Это гарантирует, что вам не нужно свернуть историю, что важно, если люди отслеживают ветку dev.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...