我在master上创建了一个分支来对项目进行一些重大更改,现在我想让这个分支成为主分支,即覆盖master中的内容(之后已经有了一些变化)和我的分支中的内容。在git中这样做的最好方法是什么?
更新:我应该解释一下,我现在是唯一的用户。我正在使用GitHub作为我的存储库。
答案 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
是一种很好的方法,可以检查一切是否符合您的计划。
请注意,这仅适用于本地。如果您需要更新远程存储库,则可能需要强制推送,并且可能会使存储库中的任何其他用户感到不安。