关于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月前
|
存储 安全 开发工具
深度解决 Git “fatal: refusing to merge unrelated histories” 错误解析什么是历史分支优雅草卓伊凡
深度解决 Git “fatal: refusing to merge unrelated histories” 错误解析什么是历史分支优雅草卓伊凡
478 4
深度解决 Git “fatal: refusing to merge unrelated histories” 错误解析什么是历史分支优雅草卓伊凡
|
3月前
|
开发工具 git
Git版本控制工具合并分支merge命令操作流程
通过以上步聚焦于技术性和操作层面指南(guidance), 可以有效管理项目版本控制(version control), 并促进团队协作(collaboration).
465 15
|
11月前
|
开发工具 git
图解Git——分支的新建与合并《Pro Git》
在Git开发中,新建与合并分支是常见的操作。以实际开发为例:为实现新需求创建分支`iss53`进行开发;遇紧急Bug时,切换至线上分支创建`hotfix`修复并合并回线上分支,再切换回`iss53`继续工作。完成`iss53`后,切换到`master`合并。若出现冲突,使用`git status`查看,手动编辑解决冲突后标记为已解决并提交。图形化工具如`git mergetool`也可辅助解决冲突。
227 9
|
11月前
|
开发工具 git 开发者
图解Git——分支简介《Pro Git》
Git 分支是其核心特性之一,允许开发者从主开发线分离工作,避免干扰主线。传统版本控制系统创建分支效率低,而Git的分支创建和切换非常轻量高效。
578 9
|
10月前
|
开发工具 git 开发者
vscode+git解决远程分支合并冲突
通过这些详细步骤,您可以掌握如何使用VSCode和Git高效地解决远程分支合并冲突,提高开发效率和代码质量。希望这些内容对您的学习和工作有所帮助。
2275 86
|
8月前
|
人工智能 API 开发工具
GitHub官方开源MCP服务!GitHub MCP Server:无缝集成GitHub API,实现Git流程完全自动化
GitHub MCP Server是基于Model Context Protocol的服务器工具,提供与GitHub API的无缝集成,支持自动化处理问题、Pull Request和仓库管理等功能。
1607 2
GitHub官方开源MCP服务!GitHub MCP Server:无缝集成GitHub API,实现Git流程完全自动化
|
6月前
|
网络协议 开发工具 git
解决 git 报错 “fatal: unable to access ‘https://github.com/.../.git‘: Recv failure Connection was rese
在使用 Git/Git小乌龟 进行代码管理的过程中,经常会遇到各种各样的问题,其中之一就是在执行 git clone 或 git pull 等操作时出现 “fatal: unable to access ‘https://github.com/…/.git’: Recv failure Connection was reset” 的报错。这个问题通常是由网络连接问题或代理设置不正确导致的。在我的个人使用经验中,我亲自尝试了四种方法,它们都能够有效地解决这个报错。个人比较推荐方法二。
3299 0
|
8月前
|
文字识别 网络协议 开发工具
GitHub封锁?推荐5个国产的Git仓库替代平台
近日,GitHub对中国区IP的部分限制引发了广泛关注。未登录用户被拒,已登录用户功能受限,南北网络环境差异更显“内卷”。为应对这一挑战,本文推荐了多个国产Git平台:Gitee(码云)、GitCode(CSDN旗下)、CODING(腾讯系)、CodeUP(阿里云支持)及微信代码管理工具。这些平台功能全面、稳定性强,是开发者迁移项目的理想选择。通过同步代码、配置CI/CD流水线等简单步骤,可确保项目平稳过渡。此次事件提醒我们,掌握核心技能与支持国产平台同样重要!
5642 11
|
8月前
|
安全 Linux 网络安全
在Linux(CentOS和AWS)上安装更新的git2的方法并配置github-ssh
经过以上这些步骤,你现在就能在GitHub上顺利往返,如同海洋中的航海者自由驰骋。欢迎你加入码农的世界,享受这编程的乐趣吧!
350 10
|
10月前
|
网络安全 开发工具 git
解决 Git 访问 GitHub 时的 SSL 错误
通过上述步骤,可以有效解决 Git 访问 GitHub 时的 SSL 错误。推荐优先更新 CA 证书和正确配置 Git 使用 CA 证书,避免禁用 SSL 验证。如果问题持续,可以切换到 SSH 方式访问 GitHub,确保连接的安全性和稳定性。希望这些内容对您的学习和工作有所帮助。
3372 4