windows - 如果分支名称在 Windows 上无效,则 Git 无法 pull/获取

标签 windows git bitbucket

我们正在为 scm 使用 git/bitbucket。这是一个大组织,人们使用不同的操作系统进行开发。人们可以创建一个包含一些特殊字符的分支或标签,例如。 ", :, >, = 等。具有此类名称的分支在 Linux 和 Mac 上运行良好。但是在 Windows 上,文件名不支持这些字符。如果有人创建了一个名称无效的分支,我在 Windows 上的 git 将停止工作。我每次都会收到此错误,我尝试执行 git pull 或 fetch。我现在甚至无法推送我的更改。

error: cannot lock ref

简而言之,我的 git 在 Windows 上坏了。我试图在网上找到解决方案,除了从存储库中删除此类文件/分支外,我找不到任何东西。这对我们来说不是一个可行的解决方案,因为我们不能删除别人创建的分支。

你能帮忙吗,如果有一个永久的解决方案,如果有人将来创建这样的分支/文件,它也可以工作吗?

最佳答案

您至少可以(作为解决方法)创建一个引用相同 HEAD 的新分支,并使用更标准的名称推送该新分支。

但另一种选择是,在服务器端,有一个预接收 Hook 检查分支名称,如果名称不标准则拒绝推送。

关于windows - 如果分支名称在 Windows 上无效,则 Git 无法 pull/获取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49314008/

相关文章:

mercurial - 克隆时为 "stream ended unexpectedly"

git - 如何正确使用 git 工作流程和 rebase?

windows - ngrok 从 Windows 7 命令行杀死隧道

c - INITCOMMONCONTROLSEX 未在此范围内声明

Python Change Master/Application Volume

Github - 如何在我的个人资料中显示协作项目?

c++ - 进程间内存编辑-查找更改的地址

git - 当团队成员进行提交时,如何阻止 Git 进行额外的 merge 提交

git - 修复 git 中的换行问题

git - 我如何正确地可视化我的 git 仓库?