我们使用git/bitbucket来实现scm。它是一个大型组织,人们使用不同的操作系统进行开发。人们可以创建包含一些特殊字符的分支或标记,例如“,:,>,=等。具有这些名称的分支在Linux和Mac上运行良好。但是在Windows上,文件名中不支持这些字符。如果有人用无效的名称创建了一个分支,我在windows上的git就会停止工作。我每次都会遇到这个错误,我试着做一个git pull或fetch。我现在甚至不能推动我的改变。
error: cannot lock ref
简言之,我的箱子在窗户上坏了。我试图在网上找到一个解决方案,除了从存储库中删除这些文件/分支之外,我什么也找不到。这对我们来说不是一个可行的解决方案,因为我们不能删除其他人创建的分支。
如果有永久性的解决方案,如果将来有人创建这样的分支/文件,您能帮忙吗?
最佳答案
至少可以(作为解决方法)创建引用同一头的新分支,并使用更标准的名称推送该新分支。
但另一个选择是,在服务器端,让预接收钩子检查分支名称,如果名称不标准,则拒绝推送。
关于windows - 如果Windows上的分支名称无效,Git无法 pull/取,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49314008/