如何重新初始化现有GitLab仓库,将空master设为默认分支并迁移提交
操作步骤
- 克隆现有仓库到本地并切换到原有
XXX分支:
git clone <你的GitLab仓库地址> cd <仓库本地目录名> git checkout XXX
- (可选)将
XXX分支所有提交合并为单条初始提交:
执行交互式变基操作,将除第一条外的所有提交前缀从pick改为s(即squash),保存后编辑提交信息为「初始提交」即可git rebase -i --root - 创建无父提交的空
master孤儿分支:
git checkout --orphan master
- 清空
master分支工作区与暂存区的残留内容:
git rm -rf . git clean -fd
- 为
master分支创建空初始提交:
git commit --allow-empty -m "Initial empty commit for master"
- 将
XXX分支的提交变基到master分支上,完成分支结构调整:
git checkout XXX git rebase master
- 强制推送本地调整后的两个分支到远端GitLab仓库:
注意:强制推送会覆盖远端对应分支的历史记录,操作前请确认所有代码已备份,且同步仓库所有成员该变更,避免后续提交冲突
git push -f origin master XXX
- 登录GitLab仓库后台,进入「设置」-「仓库」-「默认分支」配置页,将默认分支切换为
master并保存。
内容的提问来源于stack exchange,提问作者PavelPraulov
相关产品推荐
相关产品推荐

