将master分支移到另一个分支并启动新的master

时间:2018-12-26 05:04:30

标签: git

我一直在使用master分支进行开发,并希望清除它,使其仅具有发布提交,以及如何使用它。如何将所有内容从master复制到开发分支,然后重新启动master?

3 个答案:

答案 0 :(得分:3)

  

从master分支创建开发分支并删除master分支   并重新创建它,以防万一您不想在master中提交任何历史记录

第1步:创建开发分支

git checkout development

git push origin development

第2步:删除主分支(万一主分支受到保护,您可能无权删除它,因此在设置中从主分支删除受保护的分支)

git push origin :master

第3步:重新创建master分支并将其标记为受保护

git checkout --orphan master

git commit

git push origin master

答案 1 :(得分:1)

在master分支上,签出一个新分支,如果提交,它将更改您的dev。如果未提交,则提交它们。然后检出master分支并重置为原点。

git checkout -b <branch-name>
git commit -m #if needed
git checkout master
git reset origin/master

答案 2 :(得分:0)

据我了解,您想做两件事:

  1. 您当前是否有master分支指向dev
  2. 有一个空的master分支。

解决方案:

master重命名为dev

一个好的方法是,正如其他朋友提到的那样。从最新的master创建一个新分支,删除master并重新创建新的master

git stash //save your current changes. 
git pull // pull latest changes.
git checkout master //switch branche to master
git checkout -b dev // create new branch from master
git branch --set-upstream dev origin/dev //add tracking to new branch
git push //push new dev branch to server

  1. 有一个空的master分支。

我认为其他朋友对此有不同的理解,请告诉我有什么帮助。

据我了解,您希望您的master分支指向您的初始提交(存储库中的第一次提交),以便您只能在master上发布发布合并

为此,您需要执行三个步骤:

 
Find first commit.
Delete old `master` branch. (it easier this way)
Have new `master` from first commit. 

这是我会做的。

查找首次提交。

git log --reverse --oneline // top commit will be your first one. Copy it's hash (i.e.#1234)

删除旧的master分支

  

请记住将当前分支切换到dev。您无法删除所在的分支。

git branch -d master // delete local master branch
git push origin :master //delete remote master, this will be safe as we have a copy

从第一次提交创建新的master分支。

git checkout -b #1234 // remember #1234 is your first commit id. 
git branch --set-upstream master origin/master //add tracking to new branch

请原谅我的格式错误。

快乐编码

相关问题