在一个特定的回购中,当我跑
时git fetch
它完成了它应该做的所有事情,但也报告:
* [new branch] Story/abc-123 -> origin/Story/abc-123
每次单次。
如果我运行git branch -r | grep abc-123,它产生:
origin/story/abc-123
请注意,在fetch的输出中,'Story'是大写的,但在分支-r输出中则不是。问题似乎是局部的。我没有这个问题,如果我在其他地方新建一个回购的克隆,但如果我可以避免它,我宁愿不走这条路。
有没有办法让它停止这样做?
答案 0 :(得分:6)
这里的问题是,与实际遥控器相比,您的./git/refs
目录与分支名称的一部分的情况不同。即,git branch认为分支是小写的:
$git branch
...
origin/story/abc-123
...
但你的refs副本认为故事目录是大写的:
$ls .git/refs/remotes/origin
...
Story
...
显然你可以删除整个refs目录,然后git会重新生成它,但因为我是一个懦夫,我只是通过重命名有问题的目录来修复它:
mv .git/refs/remotes/origin/Story .git/refs/remotes/origin/story