几天前,我使用以下方法创建了一个新的git分支:
git checkout -b release-1_5
自创建新分支以来,我做了其他更改&承诺。
我是唯一的开发人员,在此期间没有对实际的“主人”进行任何更改。我想让“release-1_5”分支的当前状态成为新的master,并让'master'成为新的工作(HEAD?)分支,这样如果我后来做了类似的事情:
git checkout -b release-1_6
它将创建一个从主
分支的新分支我知道我可能只是继续做“git checkout -b {new-branch-name}”(创建一个线性分支的分支(-of-a-branch [-...]),但我很确定这会搞砸Git的类似地铁的分支图。
如果重要的话,目前,回购是完全本地的,所以没有拉/推或起源担心。
答案 0 :(得分:3)
您正在描述将release-1_5
简单合并回master
。由于master
没有新的提交,因此它将是一个快速合并。
$ git checkout master
$ git merge release-1_5
就是这样。如果愿意,您可以选择删除release-1_5
分支。
答案 1 :(得分:1)
我不会删除分支
您要做的只是将最新提交从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.
答案 2 :(得分:0)
希望这有帮助
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