0

在我们正在处理的一个项目中,我们正在从我们的 SASS 中提交已编译的 CSS。唯一的原因是我们开始经常在这些文件上遇到合并冲突。

我们目前解决这个问题的方法只是清除文件,并从正确合并的源 SASS 文件中自动重新编译。

除了将这些文件添加到 .gitignore 之外,我们避免这种情况的最佳方法是什么?我认为理想的解决方案是将那个文件(和那个文件)的合并策略设置为他们/我的,但我不确定这是否可能。

4

2 回答 2

1

如果此(Git 存储库)被视为代码存储库,那么您应该将这些重新创建的文件类型/名称添加到您的 .gitignore 文件中。那是因为它们不是实际的文件。

但是,如果您需要 repo 来保留某些派生结果(以避免工具更新依赖项),那么您可能需要考虑编写特殊的合并驱动程序(请参阅merge.<driver>.name配置选项和 git-attributes “定义自定义合并驱动程序”)

应该可以将文件类型与驱动程序等相关联。

我没有尝试过后者,所以......享受阅读手册的深度

于 2013-08-19T11:10:20.383 回答
0

我会使用涂抹和清洁过滤器(链接到文档)。

目标是基本上从合并操作中排除此文件并在签出后重建文件。

作为“涂抹”,我会清空文件(或插入一个文本,说明该文件将从文件 xyz 重建)。

作为“干净”,我会从原始 SASS 重建文件。如果 css/sass 文件的文件名以某种方式相关,这应该可以工作。

// %f passes the filename
// "rebuild_css"  and "clean_css" need to be written.
[filter "css"]
  clean = rebuild_css %f
  smudge = clean_css %f
于 2013-08-19T09:48:47.660 回答