如何在没有合并的情况下将我的git分支转换为master?

时间:2014-03-16 04:09:42

标签: git version-control github

我在master上创建了一个分支来对项目进行一些重大更改,现在我想让这个分支成为主分支,即覆盖master中的内容(之后已经有了一些变化)和我的分支中的内容。在git中这样做的最好方法是什么?

更新:我应该解释一下,我现在是唯一的用户。我正在使用GitHub作为我的存储库。

2 个答案:

答案 0 :(得分:1)

在你的新分支的尖端:

git branch -f master
git checkout master

分支只是在Git中移动标签。只需在签出提交中创建master分支。通常git会抱怨,因为master已经存在。因此强制-f选项。

如果你想出于任何不可预见的原因保留旧主人,只需在其上放上另一个分支:

git branch old_master master
git branch -f master
git checkout master

答案 1 :(得分:1)

您可以使用git reset将任何分支重置为任何提交。在您的情况下,您可能想要这样做:

git checkout master
git tag old-master
git reset --hard otherbranch
gitk --all

实际工作是git reset,标签是可选的以供参考,以防您以后需要从旧的主分支进行一些更改。 gitk是一种很好的方法,可以检查一切是否符合您的计划。

请注意,这仅适用于本地。如果您需要更新远程存储库,则可能需要强制推送,并且可能会使存储库中的任何其他用户感到不安。