gpt4 book ai didi

git - git 文件名中的冒号。 Windows开发者报警了?

转载 作者:太空狗 更新时间:2023-10-29 13:42:55 26 4
gpt4 key购买 nike

昨天,一位在他的笔记本电脑上运行 Linux 的同事向我们的 ma​​ster 推送了一组带有冒号 : 的文件。在他们的名字里。

这在Unix世界是合法的文件名,但其他运行Windows的就 pull 不下去了。由于文件名有效,Eclipse 取消 pull 。来自控制台的 Git pull 了存储库,但由于文件名非法而没有分配这些文件,所以我最终得到了一个缺少文件的工作副本。

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

这是我的问题:

  • 在 Git 中可以限制文件命名吗?例如,当两个具有不同大小写的文件共存或文件在其大小写中被重命名(例如 Myclass.csMyClass.cs )时,SVN 警告 提交者。我想在文件中强制使用 Windows 风格的名称,因为 Windows 比 Unix 严格限制更多。我不知道任何在 Unix 世界中非法的合法文件名
  • 将这样的 promise 保留在历史记录中是否危险?我已经成功地要求提交者恢复他的更改,将我的工作副本重置为该有罪提交之前的一些修订,然后 pull 。然而,使用 Windows 的任何人都无法提取该修订版(这不是问题)或可能在分支中以交互方式将其 rebase

是的,我知道让他直接推送到 master 是错误的,因为如果它在一个分支中,我们可以很容易地隔离和抹杀 che 更改。

由于我们有一堆活跃的分支在 master 之后,需要在 PR 之前进行 merge 对齐,并且需要 merge ,我想知道将 master rebase 到自身是否是个好主意,force push 并让所有开发人员吸取教训。

作为最后的说明,我们使用 Bitbucket Server在 Linux 主机上运行,​​可以使用 pull 请求执行 merge

最佳答案

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

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

关于git - git 文件名中的冒号。 Windows开发者报警了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34942173/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com