如何变更Git仓库中的默认分支名?

大致可分为下面几种情况:

  • 1.仓库没有初始化,即空文件夹

    • 1.1 初始化分支

    • 1.2 使用clone的同步

  • 2.仓库初始化,但并未推送

  • 3.仓库已经推送至远程仓库

解决方式如下:

  • 1.仓库没有初始化,即空文件夹:本地没有仓库的两种情形
    • 1.1 初始化仓库并初始化分支
      以下命令可以初始化仓库并初始化一个分支
      $ git init -b <branch-name>
      # 例子:main为想变更的默认分支名
      $ git init -b main
      连接远程仓库
      $ git remote add origin <远端仓库链接>
      添加暂存区
      $ git add .
      提交本地仓库
      $ git commit -m "解释说明"
      推送到远程仓库 ---这里相当于在远端新建了一个main分支
      $ git push origin main 
      
      此时远端仓库已经有了main分支
      
      删除旧的远程分支(如果不想要旧的默认分支,可以删除)
      # 要删除的分支可能是默认分支、受保护分支等,需要先在仓库管理平台仓库设置中选择新分支main为默认分支,然后再执行命令。
      $ git push origin --delete <branch-name>   
      
      # 例子
      $ git push origin --delete master
      
    • 1.2 其他使用clone的同步
      #对于其他 clone 的同步
      
      对于已经 clone 的仓库通过如下步骤进行同步:
      
      $ git fetch   `拉取远端分支信息`
      $ git remote set-head origin -a  `更新本地 upstream
      #例子:
      $ git branch -m master main
      # 上述命令将 `master` 分支重命名为了 `main`。但这个变更只是本地的,需要同步到远端。
      
      第二步:推送本地分支至远程仓库
      $ git push -u origin <branch-name>
      # 例子
      $ git push -u origin main
      
      # 上述命令将新建的 `main` 分支同步到远端并设置 upstream 到了该分支。
      
      第三步:删除远程分支(如果不想要旧的默认分支,可以删除)
      
      # 要删除的分支可能是默认分支、受保护分支等,需要先在仓库管理平台仓库设置中选择新分支为默认分支,然后再执行命令。
      $ git push origin --delete <branch-name>   
      
      # 例子
      $ git push origin --delete master
      
      
      PS:关于git remote set-head命令的解释说明
      设置或删除跟踪仓库的HEAD,指向指定分支,命令行中的圆括号表示必选其中之一执行
      $ git remote set-head <origin> (-a | --auto | -d | --delete | <branch>) 
          [-a|--auto]     # set refs/remotes/<name>/HEAD according to remote
          [-d|--delete]   # delete refs/remotes/<name>/HEAD
      
  • 2.仓库初始化,但并未推送 :初始化后未推送,可以直接修改本地的分支名
$ git branch -m <oldbranch> <newbranch>
# 举例说明
$ git branch -m master main

连接远程仓库
$ git remote add origin <远端仓库链接>
添加暂存区
$ git add .
提交本地仓库
$ git commit -m "解释说明"

推送到远程仓库
$ git push origin main 
注意:这里在推送的时候,可能会报错,因为可能需要你先pull远程到本地,使远程与本地驳斥一致后,才可以推送
不过,你也可以忽略报错的提示,使用-f强制推送,即$ git push origin main -f

删除旧的远程分支(如果不想要旧的默认分支,可以删除)

# 要删除的分支可能是默认分支、受保护分支等,需要先在仓库管理平台仓库设置中选择新分支为默认分支,然后再执行命令。
$ git push origin --delete <branch-name>   

# 例子
$ git push origin --delete master
  • 3.仓库已经推送至远程仓库:已经提交至远程仓库,去修改分支名
第一步:先修改本地分支

# 通过 `-m` 参数可修改分支名,而不影响 Git 提交历史。
$ git branch -m <oldbranch> <newbranch>
# 例子
git branch -m master main
# 上述命令将 `master` 分支重命名为了 `main`。但这个变更只是本地的,需要同步到远端。

第二步:推送本地分支至远程仓库

$ git push -u origin <branch-name>
# 例子
$ git push -u origin main

# 上述命令将新建的 `main` 分支同步到远端并设置 upstream 到了该分支。

第三步:删除远程分支

# 要删除的分支可能是默认分支、受保护分支等,需要先在仓库管理平台仓库设置中选择新分支为默认分支,然后再执行命令。
$ git push origin --delete <branch-name>   

# 例子
$ git push origin --delete master

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

儒雅的烤地瓜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值