2010-01-17 147 views

回答

3

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

git checkout dev 
git reset --hard master 

如果dev是已发布的分支,那么您可能希望保留提交历史记录。最合理的做法是合并masterdev,然后重置树以匹配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" 

这将确保您不需要回退历史,这在人们跟踪开发分支时很重要。