如何使用 git 返回主分支?

Posted

技术标签:

【中文标题】如何使用 git 返回主分支?【英文标题】:How to get back to master branch using git? 【发布时间】:2021-11-26 16:45:29 【问题描述】:

我无意中在桌面上使用了命令git checkout -b "branchname",但现在我不能再返回主分支了。我尝试使用git checkout master,但它不起作用。我正在使用 git bash。有谁可以告诉我在出现这样的错误后如何返回主分支?

提前致谢

【问题讨论】:

什么是“不工作”?错误信息? git branch 说什么? 它应该可以正常工作。 会发生什么?你确定你有一个名为master,而不是main 的分支吗? (GItHub 最近将新仓库的默认名称改为main。) 欢迎来到 SO!我认为您应该将您正在运行的git checkout 命令粘贴到问题中并输出。 git branch 什么也没说。 Git bash 正在使用我无意中创建的同一分支为我打开一个新行 请点击edit,并在问题本身中尽可能清楚地解释您运行了哪些命令以及您看到了什么错误消息。 【参考方案1】:

您所描述的是具有未出生分支的新回购的正常行为。

当您创建一个还没有任何提交的新存储库时,git checkout -b new-branch 命令或其等效命令git switch -c new-branch 实际上会从master 更改起始分支(或main) 到那个新的分支名称。因此,在这种情况下,您的 master 分支实际上已经消失了。不过不用担心,因为就像 Git 中的大多数东西一样,找回东西很容易。

您可以通过以下任一命令再次重命名分支(或在这种极端情况下使用命令创建新分支)回到您开始的位置:

git checkout -b master
# or
git switch -c master
# or
git branch -m master # rename the current branch

在 repo 中创建提交后,您将能够使用 git branch 查看所有分支,然后创建新分支将按预期工作。

【讨论】:

这称为未出生分支。 (还要注意 OP 的错误消息,“你在一个尚未出生的分支上”。) @matt 谢谢。我现在说得更清楚了。 酷。侦探作品也不错。 :) 顺便说一句,即使删除带有提交的分支也不会(立即)丢失任何提交。让我们不要让初学者不必要地担心。 @matt 同意了。已编辑。

以上是关于如何使用 git 返回主分支?的主要内容,如果未能解决你的问题,请参考以下文章

在功能分支上测试时如何使用 Git 拉取请求

如何仅使用主 git 分支在 Jenkins 中使我的项目自动从开发部署到登台并手动部署到生产

如何将一个git的master分支提交添加到另一个git中?

git 如何把develop分支代码合并到master主分支

git如何拉取主版本中的最新代码到自己空间的分支

如何在 Git 中合并两个分支(主分支和演示分支)代码 [重复]