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

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

我在吉特有个仓库。我做了一个树枝,然后对主人和树枝做了一些改变。

然后,几十次提交后,我意识到分支的状态要比主好得多,所以我希望分支“成为”主,而忽略对主的更改。

我不能合并它,因为我不想让更改保持在主人的身上。我该怎么办?

额外:在这种情况下,“老”主人已经push-ed到另一个存储库,如GitHub。这会怎样改变事情?


呼啦一阵风
浏览 1410回答 3
3回答

动漫人物

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

暮色呼如

你没说你被推到公共回购处了!这就产生了很大的不同。有两种方式,一种是“肮脏”的方式,另一种是“干净”的方式。假设您的分支名为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
打开App,查看更多内容
随时随地看视频慕课网APP