误在非master分支执行git branch -M main的作用及恢复方法
问题解答
1. 非master分支执行git branch -M main的具体作用
git branch -M <new-name>是强制重命名当前所在分支的命令,不管目标分支名是否已存在(若存在会直接覆盖)。你当时处于feature/do-it分支,执行该命令后,feature/do-it分支被直接重命名为main,原master分支不受影响,因此仓库中会同时存在master(原主分支)和main(原feature/do-it分支),feature/do-it这个分支名随之消失。
2. 恢复步骤(找回feature/do-it并将master重命名为main)
按以下步骤操作即可:
- 先将当前的
main分支改回原名称:
(如果当前不在git branch -m feature/do-itmain分支,先执行git checkout main再运行上述命令) - 切换到
master分支:git checkout master - 最后将
master重命名为main:git branch -M main
执行完成后,仓库会恢复为预期状态:master分支被重命名为main,feature/do-it分支也成功找回。
内容的提问来源于stack exchange,提问作者PatS
相关产品推荐
相关产品推荐

