昨天,一位在他的笔记本电脑上运行Linux的同事向我们的主人推送了一组名称中带冒号:
的文件。
这是Unix世界中的合法文件名,但是其他运行Windows的文件名不能再使用了。 Eclipse取消了pull,因为文件名有效。来自控制台的Git会拉出存储库,但由于它们的文件名非法,因此不会分配这些文件,因此我最终得到了一个缺少文件的工作副本。
在回答“切换到Linux”或“Linux比...更好”之前,请理解这确实是一个错误,因为我们的软件通常部署到Windows和Linux服务器上,所以在战争中包含一个非法命名的文件包将导致崩溃。
以下是我的问题:
Myclass.cs
到MyClass.cs
)时,SVN 警告提交者。我想在文件中强制使用Windows风格的名称,因为Windows严格来说比Unix更具限制性。我不知道任何在Unix世界中非法的合法文件名是的,我理解让他直接推向掌握是错误的,因为如果它在分支中,我们可以很容易地隔离和删除变更。
由于我们有一堆活动分支在主服务器之后,需要在PR之前进行合并对齐,并且需要合并,我想知道将主服务器重新绑定到自身是否是一个好主意,强制推动并让所有开发人员学习他们的课程。
最后一点,我们使用在Linux主机上运行的Bitbucket Server
,并可以使用拉取请求执行合并
答案 0 :(得分:2)
您可以安装一些git hooks(进行适当的检查),特别是git precommit挂钩(至少对Linux用户而言)或预刷挂钩。
当然,这需要一些合作(并说服人们使用它)。