You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

创建Git仓库时git branch -M main中-M参数的作用及替代疑问

Git仓库初始化代码注释与分支命名疑问解答

代码逐行注释

# 给README.md文件末尾添加标题行(文件不存在则自动创建)
echo "# fleurs" >> README.md
# 在当前目录初始化本地Git仓库,生成.git存储目录
git init
# 将README.md文件加入暂存区,纳入版本跟踪
git add README.md
# 提交暂存区内容,附带提交说明"first commit"
git commit -m "first commit"
# 强制将当前分支重命名为main(-M是强制重命名参数)
git branch -M main
# 添加名为origin的远程仓库地址,关联到GitHub的目标仓库
git remote add origin git@github.com:johndoe/depo.git
# 将本地main分支推送到远程origin仓库,-u设置该分支为默认上游分支
git push -u origin main

分支命名疑问解答

你执行完git commit之后,Git已经自动创建了默认分支(旧版Git默认是master,部分新版环境已改为main,但很多场景仍沿用master),这时候仓库里已经存在分支了,并非空状态。

  • 用git branch main的话,是新建一个main分支,原来的默认分支(比如master)还会保留,你得额外执行切换分支、删除旧分支的操作,步骤更麻烦。
  • 而git branch -M main是直接把当前所在的默认分支重命名为main,一步完成分支更名,不需要多余操作。

你觉得初始化后没有分支是对的——git init刚执行完确实没有分支,但第一次提交完成后,Git会基于初始提交生成默认分支,这时候-M就是用来重命名这个已存在的分支的。

内容的提问来源于stack exchange,提问作者Alejd

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 08:04:51