我有一个本地Git存储库,似乎存在一些分支,例如:
master
test
branch1
branch2
branch3
但是,当我尝试签出或删除branch2
时,Git说没有这样的分支。另外,我可以创建一个同名的新分支(branch2
)。
据我所知,我设法在分支名称中设置了不可见的符号。当我做git branch
时,我可以看到branch2
,但实际上它是branch2x
,其中x
是一些看不见的符号。从屏幕上复制名称有助于一些分支,但不是全部。
所以我的问题是:有没有办法管理分支机构而不知道它们的确切名称。按位置,通过Id或任何其他方式?
如果不使用名称或可能的提交哈希ID,就无法使用Git分支。如果您不知道分支机构的名称,我建议您在继续进行之前先解决该问题。要使本地存储库与最新信息保持同步,请尝试执行以下操作:
git fetch origin # brings in all latest remote branches
git branch -a # shows all local and remote branches
无论git branch -a
命令显示什么,你应该是关于什么分支是可用的最先进的。
您应该能够使用tig
命令删除分支。
使用r查看所有git引用(分支名称,标记等)。从那里你可以向上/向下突出显示有问题的分支然后!在选定的分支上运行git branch -D
。有关可用tig
命令的更多信息,请按h键。
从错误跟踪器网页复制并粘贴分支名称后,我遇到了同样的问题。在这种情况下,我的分支以Unicode <U+0096> START OF GUARDED AREA
字符作为前缀。由于前缀,标签完成没有帮助。再一次,tig
救了这一天。