2
我在Git中有2个分支,即master和dev。我如何正确地将git的分支转换为另一个分支?
我想将dev分支的内容转换为master,也就是说我想抛弃dev的状态,并将其更改为master中的样子,我该怎么做?
谢谢!
我在Git中有2个分支,即master和dev。我如何正确地将git的分支转换为另一个分支?
我想将dev分支的内容转换为master,也就是说我想抛弃dev的状态,并将其更改为master中的样子,我该怎么做?
谢谢!
重置一个分支的状态与另一个分支的状态完全相同 - 包括提交历史记录 - 在git中被称为reset
,而不是rebase。这是用复位命令执行的。
git checkout dev
git reset --hard master
如果dev是已发布的分支,那么您可能希望保留提交历史记录。最合理的做法是合并master
到dev
,然后重置树以匹配master
的。
E.g.
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 HEA[email protected]{1}
# Commit a 'revert' of the differences to dev
git commit -m "Revert unneeded dev changes"
这将确保您不需要回退历史,这在人们跟踪开发分支时很重要。