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

简介: git如何删除本地分支、删除远程分支,由分支的删除可以实现推送到远程不同的分支。git不允许推送到远程与本地分支名不同的分支上。

核心点:

  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现在提供修改默认分支名方法:https://github.com/settings/repositories

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

gitee中的默认分支名问题

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

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

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

参考

How do I delete a Git branch locally and remotely?

相关文章
|
6天前
|
JSON 开发工具 git
git rebase 合并当前分支的多个commit记录
git rebase 合并当前分支的多个commit记录
|
8天前
|
开发工具 git
git 如何删除本地和远程分支
git 如何删除本地和远程分支
25 0
|
8天前
|
开发工具 git
【Github】sync fork后,意外关闭之前提交分支的pr申请 + 找回被关闭的pr请求分支中的文件
【Github】sync fork后,意外关闭之前提交分支的pr申请 + 找回被关闭的pr请求分支中的文件
16 5
|
8天前
|
Shell 开发工具 git
git获取gitee老版本的分支内容
git获取gitee老版本的分支内容
|
8天前
|
开发工具 git
Git项目如何配置,如何上传至GitHub。其详细步骤
Git项目如何配置,如何上传至GitHub。其详细步骤
13 0
|
8天前
|
网络安全 数据安全/隐私保护
解决git@github.com: Permission denied (publickey). fatal: Could not read from remote repository. Pleas
解决git@github.com: Permission denied (publickey). fatal: Could not read from remote repository. Pleas
|
8天前
|
存储 开发工具 git
|
8天前
|
开发工具 git 开发者
【专栏】探讨了 Git 中的 `git rebase` 操作,它用于重新应用提交到另一分支,改变历史顺序
【4月更文挑战第29天】本文探讨了 Git 中的 `git rebase` 操作,它用于重新应用提交到另一分支,改变历史顺序。与 `git merge` 不同,rebase 重写提交历史,提供简洁线性的历史记录。文章介绍了 rebase 的基本操作、应用场景,如整理提交历史、解决冲突和整合分支,并强调了使用注意事项,如避免在公共分支上操作。尽管 rebase 可以带来整洁的历史和冲突解决便利,但其潜在的风险和可能导致的历史混乱需谨慎对待。理解并恰当使用 `git rebase` 可以提升开发效率和代码质量。
|
8天前
|
开发工具 数据安全/隐私保护 C++
vs2019中同步到github上的用户名错误_控制面板和vs的git全局设置重新登录
vs2019中同步到github上的用户名错误_控制面板和vs的git全局设置重新登录
17 0
|
8天前
|
前端开发 JavaScript 网络安全
Git(3) 使用Github管理项目
Git(3) 使用Github管理项目
28 0