在一个分支上重新定位后,如何更新master来匹配那个重新分支的分支?

时间:2010-11-28 01:00:34

标签: git git-svn rebase

我在测试GIT分支上做了一堆变基。重新定位有两个原因:#1:整合父git-svn主干的变化; #2:清理我的本地历史记录,准备将代码交给另一位开发人员。

我按照我想要的方式拥有测试分支,所有测试都通过了等等。现在我想让大师看起来像我的测试分支。

这样做的首选方法是什么?如果主人不在那里,我只是git clone它,但还有另一种更好的方法来迫使现有的分支看起来像anohter(包括历史)吗?

3 个答案:

答案 0 :(得分:4)

删除分支并在您想要的地方重新创建它确实有效,但它会花费您的reflog - 分支过去指向的记录。两种更清洁的方式:

# if you want the branch checked out:
git checkout master
git reset --hard <other-branch>

# or, if it's not checked out:
git branch -f master <other-branch>

答案 1 :(得分:3)

使分支看起来像另一个(包括历史记录)的正确方法是创建一个新分支。

master分支只是另一个分支(git只是在初始化新存储库时将其设置为默认值,但您可以自由设置自己的默认分支。)

如果我理解正确,只需删除master分支,然后使用master分支创建名为test的新分支。

答案 2 :(得分:0)

我所做的是将我的工作分支合并到我的主分支(它的首字母有前缀)。然后我推动那个一个提交者审查并合并到真正的主人的主人。

所以答案是,合并,我认为