如何解决构建文件的预合并挂钩
我的 repo 包含源代码 (/src) 和构建 (/dist)。大多数情况下,当我合并一个分支时,我会遇到合并冲突,因为构建已更改。所以,在合并失败后,我触发一个新的构建,用新文件覆盖所有冲突,然后结束合并。
这似乎是 git hooks 可以处理的。我的想法是在合并之前删除 dist 目录并在之后触发新的构建。但事实证明,没有预合并挂钩这样的东西。
这让我意识到我的逻辑有点倒退。我知道我不能在忽略 /dist 的同时要求 git 合并 /src - 这是同一个 repo。但这在我看来是一种非常普遍的情况(许多开源项目都是这样组织的)。那么这通常是如何处理的?
解决方法
处理此问题的典型方法是不将构建产品存储在存储库中,正如人们在评论中提到的那样。这也是在 Git 列表中询问时对该问题的规范回答。
Git 存储库通常不设计用于处理构建产品,因为它们通常是二进制的并且不能很好地增量。因此,如您所见,将它们存储在您的存储库中会增加您可能对长期保留不感兴趣的数据并导致合并冲突。
如果您需要存储构建产品,最好的方法是使用某种工件服务器或发布资产存储。 GitHub 提供了用于此目的的版本,并且有可以处理构建资产的服务器,例如 Artifactory。您也可以使用可通过 HTTP 或 SFTP 访问的服务器,并将以提交 ID 命名的 tarball 推送到该位置,这是另一种非常常见且完全合理的方法。您可以选择执行一些定期修剪。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。