git:重命名本地分支失败

Sha*_*ang 14 git branch rename

我不知道为什么我重命名本地分支的尝试失败了.我基本上克隆了项目,然后我在项目中也有一个子模块,我也下载了子模块代码.但是,当我git branch在子模块中使用时,我有:

* (no branch)
  master
Run Code Online (Sandbox Code Playgroud)

代码看起来像我在另一个分支,但输出显示它没有名称.然后我在网上搜索找到如何重命名本地分支,我得到了这个:

git branch -m <newname>
Run Code Online (Sandbox Code Playgroud)

运行此命令后,git给了我这个错误:

error: refname refs/heads/HEAD not found
fatal: Branch rename failed
Run Code Online (Sandbox Code Playgroud)

谁知道为什么会这样?谢谢.

小智 109

我也进入这个问题。原因是我没有对这个 git 存储库进行任何提交。

当我运行命令时git branch -M main。我收到以下错误消息。

error: refname refs/heads/master not found
fatal: Branch rename failed
Run Code Online (Sandbox Code Playgroud)

通过以下命令添加我的第一个提交后,一切正常。

git add .
git commit -m 'Init'
Run Code Online (Sandbox Code Playgroud)

  • Github 应该考虑将该部分添加到他们的指南中 (9认同)

kni*_*ttl 29

您目前处于独立状态.您必须签出新分支以将其与当前提交相关联:

git checkout -b new_branch
Run Code Online (Sandbox Code Playgroud)


Dim*_*Dak 25

我认为这是“git init”创建分支和github的(新)“主”的冲突。

后:

git add .
git commit -m "first commit" 
Run Code Online (Sandbox Code Playgroud)

我以前可以 git branch -M main

在此处输入图片说明


Cha*_*tty 9

首先使用以下命令设置您的电子邮件和用户名配置:

\n
git config --global user.email \xe2\x80\x9cyou@example.com\xe2\x80\x9d\ngit config --global user.name \xe2\x80\x9cYour Name\xe2\x80\x9d\n
Run Code Online (Sandbox Code Playgroud)\n

然后添加您的文件:

\n
git add .\n
Run Code Online (Sandbox Code Playgroud)\n

然后进行第一次提交:

\n
git commit -m "Initial commit"\n
Run Code Online (Sandbox Code Playgroud)\n

现在运行命令:

\n
git branch -M main\n
Run Code Online (Sandbox Code Playgroud)\n

这种方式对我有用。

\n


小智 7

您可以更改名称master,以main在几个步骤,本地之前,你甚至做出承诺。

  1. 导航到您的项目所在的目录。
  2. 在其中,显示隐藏文件,因为默认情况下, .git将被隐藏。
  3. 里面.git有一个文件,HEAD用文本编辑器打开。你会看到,ref: refs/heads/master
  4. 很简单,改变,mastermain

我们刚刚将 master 分支重命名为 main。只需git branch从终端输入即可验证这一点。


Sve*_*sen 5

我的猜测是您不在名为“(无分支)”的分支上,而是不在分支上。

如果你第一次结帐大师:

git checkout master
Run Code Online (Sandbox Code Playgroud)

然后创建一个新分支:

git checkout -b new_branch
Run Code Online (Sandbox Code Playgroud)

那会让它看起来像你期望的那样。