0

我在合并浅克隆的分支时遇到问题,我似乎无法完成实现它所需的步骤。这是一个真正的 git 难题,我期待找到知道如何解决这个问题的人。

我编写了一个 Github Action,为 Hugo 网站项目创建发布版本。正如 Github 提供的,我使用actions/checkout来签出 repo 的源分支,并包含递归子模块的选项。(这很重要,因为合并冲突是由于此处的子模块引用而发生的。)

结帐后,我的部署脚本会做一些事情:

  1. 获取并签出将在其中进行构建的发布分支
  2. 将源分支的最新更改合并到发布分支
  3. 构建、提交和推送版本

如果我fetch-depth: 0在结帐步骤中设置(克隆 repo 的完整历史记录),效果很好!合并由 处理-s recursive Xtheirs,一切都很好。

但是,如果我保留导致的默认fetch-depth设置--depth=1,我会得到一个浅克隆,其中合并总是会导致冲突,因为我没有足够的分支历史来让合并知道它应该如何自行解决。合并失败,之后不会发生任何其他事情。

基于该信息——

  • 我必须采取哪些 git 步骤来加深源分支、目标分支和子模块的获取历史记录,以便能够合并分支而不会发生冲突?

测试用例 -

我设置了 2 个测试存储库,您可以在此操作 wiki 页面上找到它们。如果您想查看操作、成功/失败输出、运行您自己的测试,或者只是阅读更多关于我尝试过的内容,请查看。在这里添加太多了。

在来这里之前,我为这个问题苦苦挣扎了一段时间,现在我希望你们能帮助我。如果我错过了任何重要信息,请告诉我。干杯!

4

0 回答 0