为了账号安全,请及时绑定邮箱和手机立即绑定

使当前的Git分支成为主分支

使当前的Git分支成为主分支

Git
呼啦一阵风 2019-06-27 15:53:34
使当前的Git分支成为主分支我在吉特有个仓库。我做了一个树枝,然后对主人和树枝做了一些改变。然后,几十次提交后,我意识到分支的状态要比主好得多,所以我希望分支“成为”主,而忽略对主的更改。我不能合并它,因为我不想让更改保持在主人的身上。我该怎么办?额外:在这种情况下,“老”主人已经push-ed到另一个存储库,如GitHub。这会怎样改变事情?
查看完整描述

3 回答

?
动漫人物

TA贡献1815条经验 获得超10个赞

另外两个答案的问题是,新主人没有老主人作为祖先,所以当你推它时,其他人都会搞砸。这就是你想要做的:

git checkout better_branch
git merge --strategy=ours master    # keep the content of this branch, but record a merge
git checkout master
git merge better_branch             # fast-forward master up to the merge

如果您希望您的历史记录更加清晰,我建议向合并提交消息中添加一些信息,以明确您所做的事情。将第二行改为:

git merge --strategy=ours --no-commit master
git commit          # add information to the template merge message


查看完整回答
反对 回复 2019-06-27
?
暮色呼如

TA贡献1853条经验 获得超9个赞

你没说你被推到公共回购处了!这就产生了很大的不同。

有两种方式,一种是“肮脏”的方式,另一种是“干净”的方式。假设您的分支名为new-master..这是一条干净的道路:

git checkout new-master
git branch -m master old-master
git branch -m new-master master
# And don't do this part.  Just don't.  But if you want to...
# git branch -d --force old-master

这将使配置文件更改为与重命名的分支匹配。

你也可以用脏的方式来做,它不会更新配置文件。这就是在上面的引擎盖下面发生的事情.

mv -i .git/refs/new-master .git/refs/master
git checkout master


查看完整回答
反对 回复 2019-06-27
  • 3 回答
  • 0 关注
  • 1409 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信