【问题标题】:Max length of git branch namegit 分支名称的最大长度
【发布时间】:2014-07-23 17:47:29
【问题描述】:

我想了解 git 分支名称的最大允许大小。

我正在尝试创建一些长名称(作为实验),因此 370 个字符的名称是有效的,但 380 个字符给了我fatal: Failed to lock ref for update: File name too long

所以问题是:git 分支名称中可以包含的最大字符数是多少?它取决于系统吗?是否可以在远程存储库(即 Github)上拒绝的存储库中创建长分支名称?

【问题讨论】:

  • 这方面也有一些很奇怪的行为。如果我尝试 400 chrs,它会失败。如果我然后尝试 300 它通过。很公平。但是在 300 个工作之后,我就能够创建具有 400,500,600 等 chrs 的分支。尝试在命令行中测试和确定限制揭示了这种行为。

标签: git github


【解决方案1】:

“文件名太长”确实是来自您的系统的错误。这不是 Git 的限制。我认为没有一种方法可以测试其他系统(例如 GitHub)的最大分支名称长度,而无需进行试验 - 尽管我不明白您为什么想知道...

.

来源:提到的错误是在branch.c 的第 291 行抛出的。 “文件名太长”是 ENAMETOOLONG 错误的标准描述。

【讨论】:

  • 我认为 some limit 是有用的,当GitHub Flow document encourages to use descriptive names.
  • GItHub 将分支名称限制为 255 个字符。
  • @iconoclast :因为它没有记录。
  • @user2284570 您在哪里看到 GitHub 文档中关于分支名称长度的 255 个字符的限制?
  • @mljrg Git 分支存储为文件名。由于 Github 使用 ext4 来存储用户的存储库,因此分支名称限制是主机文件系统之一,在 ext4 的情况下为 255 个字符。虽然我通过leaks获得了这些知识。
【解决方案2】:

打开 Github Powershell,执行以下命令:

git config --system core.longpaths true

【讨论】:

  • ^--- 这在this question 中进行了讨论。显然这是一个 Windows 文件名(包括路径)长度限制,而 longpaths 是一种避免它的方法(前提是您拥有正确版本的 Git 客户端)。这个问题来自 2014 年,所以现在它可能不是问题。 (顺便说一句,有人提到 git 的文件名限制为 4096 个字符。)无论如何,OP 询问的是 branch 名称长度,而不是文件名。
猜你喜欢
  • 1970-01-01
  • 2010-09-30
  • 2016-05-15
  • 1970-01-01
  • 2015-11-24
  • 2017-05-25
  • 2023-01-13
  • 2014-02-07
  • 2017-07-04
相关资源
最近更新 更多