refs/master 和 refs/heads/master 带来的问题

137 天前
 Sayuri

我这边团队有一个 GitHub 开源仓库,一年来无法正常使用 git pull 或者 git pull origin master 拉取代码。经过深入调查,发现了这件事情:

# git remote ls
...
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa        refs/heads/master
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb        refs/master

其中 a 是真正的 master 分支,而 b 是一年前的某个状态,似乎是某个人 push 上去的。 我尝试去解决的时候,发现我用 git push -f origin :refs/master 的时候被拒绝。

# git push origin --delete -f refs/master
 ! [remote rejected]     refs/master (cannot lock ref 'refs/master': reference already exists)

这个有什么好的办法解决吗?

1147 次点击
所在节点    GitHub
5 条回复
sagaxu
137 天前
重新 clone 一个,如果不能 pull ,就是 repo 有问题,反之是本地的问题。repo 有问题,登陆到 github 后台操作解决,本地有问题就删了重拉。
Sayuri
137 天前
@sagaxu 重新 clone 一个也是如此。团队内多名成员都是如此。
GitHub 后台该如何解决这个问题呢?
sagaxu
137 天前
@Sayuri 一般是特殊分支名称引起的,删掉或者改名就好了。把 repo 地址放出来看看。
Sayuri
137 天前
@sagaxu https://github.com/mycard/ygopro-scripts

你可以尝试一下,clone 之后 git pull origin master
sagaxu
137 天前
去 github 后台建一个 main 分支设置为 default ,然后删掉 master 分支,确保两个 master 都没有了,最后再把 main 改名成 master

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1063949

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX