在我们正在开发的项目中,我们正在从SASS中编译CSS。唯一的问题是我们开始经常在这些文件上发生合并冲突。
我们目前解决此问题的方法只是清除文件,并从正确合并的源SASS文件中自动重新编译。
除了将这些文件添加到.gitignore之外,我们避免这种情况的最佳方法是什么?我认为理想的解决方案是将该文件(和该文件一个)的合并策略设置为他们的/我的,但我不确定这是否可行。
答案 0 :(得分:1)
如果将此(Git repo)视为源代码存储库,则应将这些重新创建的文件类型/名称添加到.gitignore文件中。那是因为它们不是真正的源文件。
但是,如果您需要repo来保留某些派生结果(以避免工具更新依赖性),那么您可能需要编写一个特殊的合并驱动程序(请参阅merge.<driver>.name
配置选项和git-attributes“定义一个自定义合并驱动程序“)
应该可以将文件类型与驱动程序等相关联。
我没有尝试后者,所以...享受阅读手册的深度
答案 1 :(得分:0)
我会使用涂抹和清洁过滤器(link to doc)。
目标是基本上从合并操作中排除此文件,并在结帐后重建文件。
作为“涂抹”我将清空文件(或插入一个文本,说明该文件将从文件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