【问题标题】:Switch current branch in git bare repository在 git 裸仓库中切换当前分支
【发布时间】:2011-05-26 23:34:10
【问题描述】:

我实际上想删除我正在使用的裸存储库中的一个分支,但是这个任务遇到了死胡同,因为如果没有裸存储库没有的“工作树”,我就无法从主存储库切换。

当我运行git branch -d master 时,输出是:

error: Cannot delete the branch 'master' which you are currently on.

所以我尝试通过运行git checkout develop 切换到另一个名为“develop”的分支,输出为:

fatal: This operation must be run in a work tree

【问题讨论】:

标签: git git-branch git-checkout


【解决方案1】:

试试这个而不是git checkout:

git symbolic-ref HEAD refs/heads/develop

那么你应该可以删除master了。

【讨论】:

  • git clone --bare 不会创建 refs/heads/master。缺少手动编辑HEAD,如果不存在这样的头,如何将HEAD 的符号引用切换回master
  • @dimadima 以同样的方式。如果您查看packed-refs,您应该会看到它包含refs/heads/master 的定义。
  • 另见@VonC 的这个答案,解释了symbolic-ref
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-06-19
  • 1970-01-01
  • 2021-05-27
  • 2011-11-26
  • 2013-12-09
  • 2013-05-09
  • 2013-11-25
相关资源
最近更新 更多