Git仓库仅有my-feature分支时如何创建master分支并保留现有分支
解决方案
- 首先执行
git branch查看当前本地分支,若不在my-feature分支,先执行git checkout my-feature切换到该分支;再执行git status确认工作区干净,且本地my-feature已与远程origin/my-feature完全同步,无未提交改动。若有未提交内容,请先完成提交或暂存。 - 执行
git checkout -b master,基于当前my-feature分支的最新提交,创建并切换到本地master分支。 - 执行
git push --set-upstream origin master,将本地新建的master分支推送到远程仓库,同时完成上游分支的关联设置。
补充说明
- 该操作全程不会改动现有
my-feature分支的本地、远程提交历史与代码内容,原有分支会被完整保留,新建的master与原有my-feature当前指向同一提交记录。 - 若需要将仓库默认分支调整为
master,可在Bitbucket的仓库设置中完成配置,避免后续克隆仓库时出现分支指向异常。
若你需要
master分支为空、与现有my-feature分支内容完全无关,可改用以下步骤操作:
- 确保当前处于任意干净的分支后,执行
git checkout --orphan master创建无历史提交的空本地master分支- 执行
git rm -rf .清空当前工作区的所有缓存文件- 按需添加初始提交内容后,执行
git commit -m "初始提交"- 执行
git push --set-upstream origin master推送空的master分支到远程,该操作同样不会影响现有my-feature分支的内容
内容的提问来源于stack exchange,提问作者Nhat Lich
相关产品推荐
相关产品推荐

