likes
comments
collection
share

关于github默认分支名改为main后可能的处理【git推送到远程不同的分支、github修改默认分支名】

作者站长头像
站长
· 阅读数 3

核心点:

  1. 由默认分支名的修改,了解git如何删除本地分支、删除远程分支,由分支的删除可以实现推送到远程不同的分支。

  2. git不允许推送到远程与本地分支名不同的分支上。

由于众所周知的原因,github修改默认的分支为main后,每次新建仓库关联本地仓库时都会看到一行git branch -M main处理,使用习惯上真的很不“顺畅”。

由此引发了git如何推送本地分支到远程仓库的不同分支中处理【后面想想就执行上面依据修改分支名,本质上也没有什么额外的负担】。

  • 创建新仓库
echo "# CSharpCommonImplement" >> README.md
git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin git@github.com:findmoon/CSharpCommonImplement.git
git push -u origin main
  • 推送一个存在的仓库
git remote add origin git@github.com:findmoon/CSharpCommonImplement.git
git branch -M main
git push -u origin main

git branch -M main前置修改当前分支名为main。

git推送本地分支到远程仓库的不同分支

作为安全措施,git不允许推送到远程与本地分支名不同的分支上。如果远程没有与本地分支相同的名称,推送将会中断。

如下,推送到远程的main分支

git push origin master:main

推送时指定分支名的命令:

git push <remote> <local branch name>:<remote branch to push into>

这个命令的本质含义是:将当前分支推送到远程相同的分支master,然后将远程master修改为main

如果没有任何提交直接删除main分支

如果在main分支上没有任何提交,则可以直接删除,后续使用master分支即可。

删除本地分支

## -d 即 --delete
git branch -d <branch_name>

## -D 即 --delete --force
git branch -D <branch_name>

删除远程分支

git push <remote_name> --delete <branch_name>

更方便记住的命令:

git push <remote_name> :<branch_name>

github提供修改默认分支名

github现在提供修改默认分支名方法:github.com/settings/re…

进入可以直接修改默认分支名为master,这样就不需要处理mainmaster名称了。

gitee中的默认分支名问题

gitee创建仓库的默认分支名还是为master。

如果是一个空的gitee远程仓库,直接推送本地main分支到gitee,远程仓库默认分支名会默认为main。

如果想要修改已有的master分支名,可以在gitee仓库的“管理”中修改(空仓库没有此修改选项)。

关于github默认分支名改为main后可能的处理【git推送到远程不同的分支、github修改默认分支名】

参考

How do I delete a Git branch locally and remotely?