我一直在使用master分支进行开发,并希望清除它,使其仅具有发布提交,以及如何使用它。如何将所有内容从master复制到开发分支,然后重新启动master?
答案 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)
据我了解,您想做两件事:
master
分支指向dev
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
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
请原谅我的格式错误。
快乐编码