创建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
相关产品推荐
相关产品推荐

