在我的包中,我有一个单元测试运行器作为构建的一部分运行。此运行器生成一个文本文件,列出我的代码中所有源文件的单元测试覆盖率。
这个文件通常会随着每次提交而改变,而且每当我从这个特定文件中的任何地方合并/拉/弹出时,git几乎总是显示冲突。
有没有办法让git总是选择当前在我的本地存储库中的文件版本,因为它通常代表更新的覆盖范围。
我想要从存储库中完全删除这个文件,但是让我看到每次提交的代码覆盖率非常好。
答案 0 :(得分:1)
您可以根据具体情况选择您的--ours
。
Choose Git merge strategy for specific files ("ours", "mine", "theirs")
此外,您可以创建一个合并后挂钩,每次检查您的文件版本,这将在一定程度上自动执行此操作,具体取决于您的工作流程。
答案 1 :(得分:0)
您可能希望使用git pull
运行-X ours
,但是,我不建议在存储库中使用这些类型的自动生成的文件。我宁愿使用结账钩。
答案 2 :(得分:0)
配置一个完全忽略传入文件的普通合并驱动程序:
git config merge.ours.driver true # or even --global this one
并将该合并驱动程序分配给您希望在.gitattributes
中保留的构建产品:
echo path/to/build-report merge=ours >>.gitattributes
git add .gitattributes
(上面的例子只是unix true命令,它的成功表明它使本地版本看起来正确,在这种情况下通过什么都不做。)