如何正确地将git分支重新绑定到另一个分支?

时间:2010-01-17 16:45:07

标签: git

我在Git中有2个分支,即master和dev。

我想将dev分支的内容转换为master,也就是说我想抛弃dev的状态,并将其改为master中的样式,我该怎么做?

谢谢!

1 个答案:

答案 0 :(得分:2)

将一个分支的状态重置为与另一个分支完全相同 - 包括提交历史记录 - 在git中称为reset,而不是rebase。这是使用reset命令执行的。

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 HEAD@{1}

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

这将确保您不需要收回历史记录,如果人们正在跟踪开发分支,那么这对历史记录很重要。