Сброс состояния одной ветви в точности так же, как другой - включая историю коммитов - в 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.