GIT - 跨平台涂抹/清洁过滤器?

时间:2010-12-03 15:33:45

标签: git github

我是一个相当大的组织的一部分,开发人员在地理位置上分布并使用Windows,OSX和Linux开发环境。

我已经问过一个让我想要使用干净/涂抹过滤器的问题: Mark a file in the GIT repo as temporarily ignored

但是......跨平台过滤脚本的最佳方法是什么?我不希望开发人员安装额外的脚本环境。这周围有什么最好的做法吗?任何使过滤器在服务器端运行的方法(我们使用github)?

2 个答案:

答案 0 :(得分:1)

这取决于默认安装的内容。

在我们的Solaris / Linux / Windows环境中,我们使用perl脚本,但不是每个操作系统一个脚本:只有一个脚本能够识别执行它的Os并根据平台运行相应的代码。

允许在脚本中独立于平台的部分中隔离公共函数,同时处理Os专用子例程中的路径和其他特定命令,所有这些都在同一个脚本中,版本化一次。

关键是不要引入Os分支,这会产生一些“元数据泄漏”:一些与版本化数据无关的信息(Os)(在分支“test”或“fix”中或...)将在特殊分支中共存。
这是不实际的:你需要这些脚本的特殊版本的分支修复是什么? 您是否会为他们制作一个“修复Windows”和“修复-Unix”分支,或者您只是简单地修改“修复”分支中的所述脚本,提交它并完成它?

答案 1 :(得分:0)

如果需要在服务器上运行涂抹/清理脚本,则会出现问题。只有在有工作文件夹的地方才能使用涂抹/清洁。根据您所使用的平台,您可以拥有不同版本的这些版本。

执行此操作的最佳方法是每个平台最多使用一个脚本版本。有些可以重复使用 - 比如说你有msysgit。然后,如果您使用相同版本的bash,则可以使用与Linux相同的脚本。