所以我注意到,因为git根据文件系统中的分支名称命名文件夹(在refs文件夹中,特别是遥控器),这可能会导致问题,因为文件夹名称中允许的字符取决于操作系统。Git分支名称取决于操作系统?
例如,您可以在Mac OS创建一个分支,如:
feature/my_special_"Splash Screen"_feature
如果我取这个在Windows上,它会失败,这样的消息:
Fetch failed: fatal: Unable to create 'C:/AndroidStudioProjects/MyProject/.git/refs/remotes/origin/feature/my_special_"Splash Screen"_feature.lock': Invalid argument
由于文件名中包含这是在Windows上不允许的,而在MAC OS上允许的。
当你尝试在windows上创建相同的分支时,git将简单地移除aposthropes。
有没有人知道这方面的官方文档?另外,我们是否需要重新命名这个分支或者是否有解决方法?
或者只是采用该分支的名称可能只包含字母数字+“/”的方针和你所有的设置。您甚至可以使用自动检查来防止人们将违反此政策的分支推送到中央存储库。 – larsks
另一个问题是案例折叠。 Git中正在进行的工作是停止使用基于文件系统的文件来存储这些内容,事实上,分支名称通常存储在平面文件'.git/packed-refs'中,其中既不区分大小写也不限制OS限制在文件名上是一个问题。尽管如此,@larsks说。 :-)如果您开始使用Unicode文件名(考虑将代码与预先组合在一起),则工作树内的文件名具有相同的问题,只会更糟。 (另外'''不是一个撇号,它是一个双引号。) – torek