如何让 git 分支成为新的 master?

How to make a git branch the new master?

几天前,我使用以下方法创建了一个新的 git 分支:

git checkout -b release-1_5

自创建该新分支以来,我对其进行了额外的更改和提交。

我是唯一的开发者,在此期间没有对实际 'master' 进行任何更改。我想让 "release-1_5" 分支的当前状态成为新的主分支,并使 'master' 成为新的工作(HEAD?)分支,这样如果我以后做类似的事情:

git checkout -b release-1_6

它将创建一个从 master 分支出来的新分支

我知道我可能会继续做 "git checkout -b {new-branch-name}"(创建一个分支的线性分支(-of-a-branch[-...]),但我很确定那会搞砸 Git 类似地铁的分支图。

目前,回购完全是本地的,因此无需担心 pulling/pushing 或来源。

您描述的是 release-1_5 回到 master 的简单合并。由于 master 没有新的提交,它将是 fast-forward 合并。

$ git checkout master
$ git merge release-1_5

就是这样。如果愿意,您可以选择删除 release-1_5 分支。

我不会玩删除分支。
你想要做的只是将最新提交从 release-1_5 移动到 master.

git checkout master
git merge release-1_5
git checkout master
git reset --hard HEAD~3 # Go back 3 commits. You *will* lose uncommitted work.

希望对您有所帮助

git checkout release-1_5
git merge --strategy=ours master  # This will keep content of branch
git checkout master
git merge release-1_5             # this will fast-forward master to the merge