冒号在git文件名中。 Windows开发者报警?

时间:2016-01-22 08:31:22

标签: git filenames

昨天,一位在他的笔记本电脑上运行Linux的同事向我们的主人推送了一组名称中带冒号:的文件。

这是Unix世界中的合法文件名,但是其他运行Windows的文件名不能再使用了。 Eclipse取消了pull,因为文件名有效。来自控制台的Git会拉出存储库,但由于它们的文件名非法,因此不会分配这些文件,因此我最终得到了一个缺少文件的工作副本。

在回答“切换到Linux”或“Linux比...更好”之前,请理解这确实是一个错误,因为我们的软件通常部署到Windows和Linux服务器上,所以在战争中包含一个非法命名的文件包导致崩溃。

以下是我的问题:

  • Git是否可以限制文件命名?例如,当两个具有不同外壳的文件共存或在其大小写中重命名文件(例如Myclass.csMyClass.cs)时,SVN 警告提交者。我想在文件中强制使用Windows风格的名称,因为Windows严格来说比Unix更具限制性。我不知道任何在Unix世界中非法的合法文件名
  • 在历史上保持这样的承诺是否危险?我已经成功地要求提交者恢复他的更改,将我的工作副本重置为之前的那个有罪的提交,然后撤消。但是,没有人使用Windows将能够提取该修订版(不是问题)或者可能在分支中以交互方式对其进行修改

是的,我理解让他直接推向掌握是错误的,因为如果它在分支中,我们可以很容易地隔离和删除变更。

由于我们有一堆活动分支在主服务器之后,需要在PR之前进行合并对齐,并且需要合并,我想知道将主服务器重新绑定到自身是否是一个好主意,强制推动并让所有开发人员学习他们的课程。

最后一点,我们使用在Linux主机上运行的Bitbucket Server,并可以使用拉取请求执行合并

1 个答案:

答案 0 :(得分:2)

您可以安装一些git hooks(进行适当的检查),特别是git precommit挂钩(至少对Linux用户而言)或预刷挂钩。

当然,这需要一些合作(并说服人们使用它)。