核心点:
由默认分支名的修改,了解git如何删除本地分支、删除远程分支,由分支的删除可以实现推送到远程不同的分支。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 :
这个命令的本质含义是:将当前分支推送到远程相同的分支master,然后将远程master修改为main。如果没有任何提交直接删除main分支
如果在main分支上没有任何提交,则可以直接删除,后续使用master分支即可。
删除本地分支
## -d 即 --delete
git branch -d
## -D 即 --delete --force
git branch -D
删除远程分支
git push --delete
更方便记住的命令:
git push :
github提供修改默认分支名
github现在提供修改默认分支名方法:
进入可以直接修改默认分支名为master,这样就不需要处理main和master名称了。
gitee中的默认分支名问题
gitee创建仓库的默认分支名还是为master。
如果是一个空的gitee远程仓库,直接推送本地main分支到gitee,远程仓库默认分支名会默认为main。
如果想要修改已有的master分支名,可以在gitee仓库的“管理”中修改(空仓库没有此修改选项)。
参考
How do I delete a Git branch locally and remotely?