“自动推送”;“建立分支机构”;使用后;git档案馆“;没有本地回购

“自动推送”;“建立分支机构”;使用后;git档案馆“;没有本地回购,git,build,reference,archive,Git,Build,Reference,Archive,我正在git存储库上建立一个自动构建。我想从主分支自动构建版本——我正在使用“git archive”构建沙箱——并且,根据构建是否成功,我想将“构建分支”推送到成功构建的版本 其思想是“build”分支始终可以从master访问,也就是说,它始终是从“build”到“master”的快进,所以我没有创建任何对象,甚至没有提交对象,我只是将“ref”从一个已经存在的对象移动到另一个已经存在的提交对象 我使用git archive的原因是为了在构建时正确应用属性“export ignore”和“e

我正在git存储库上建立一个自动构建。我想从主分支自动构建版本——我正在使用“git archive”构建沙箱——并且,根据构建是否成功,我想将“构建分支”推送到成功构建的版本

其思想是“build”分支始终可以从master访问,也就是说,它始终是从“build”到“master”的快进,所以我没有创建任何对象,甚至没有提交对象,我只是将“ref”从一个已经存在的对象移动到另一个已经存在的提交对象

我使用git archive的原因是为了在构建时正确应用属性“export ignore”和“export subst”

因此,总结一下问题:

有没有一种方法可以将远程git存储库中的ref更新为已经在远程端的commit,而不必克隆它


daniel

在您正在构建的地方,您已经有了它的克隆。只需轻轻一推脑袋:大师就是你所需要的一切。也可以考虑标记来标记你成功的构建。

更新:

Git是一种在您将某物推送到远程设备时始终需要发送对象的东西。如果没有对象,则无法推动。这就是说,您可以通过将提交的SHA1放到共享目录中实现自动化,并在另一台机器上使用repo的克隆将引用推送到分支中


希望有一些低级命令可以直接执行此操作,或者有一种方法可以欺骗它,但我还没有看到。

您在构建的地方已经有了它的克隆。只需轻轻一推脑袋:大师就是你所需要的一切。也可以考虑标记来标记你成功的构建。

更新:

Git是一种在您将某物推送到远程设备时始终需要发送对象的东西。如果没有对象,则无法推动。这就是说,您可以通过将提交的SHA1放到共享目录中实现自动化,并在另一台机器上使用repo的克隆将引用推送到分支中


希望有一些低级命令可以直接执行此操作,或者有一种方法可以欺骗它,但我还没有看到。

正如我在文章中非常清楚地说的,我没有克隆。我使用的是git archive,因此可以应用属性“导出忽略”和“导出子对象”。为什么不使用常规忽略?您应该从一个工作目录进行编译,也许可以应用smudge/clean脚本以及从工作目录中获得的所有其他功能。您仍然可以从那里导出以获取用于部署的工件。请阅读原始问题。如果你真的读过这个问题,你就会明白我想要的正是避免克隆和导出。我想从存档中构建,而不是从工作目录中构建。正如我在文章中非常清楚地说的,我没有克隆。我使用的是git archive,因此可以应用属性“导出忽略”和“导出子对象”。为什么不使用常规忽略?您应该从一个工作目录进行编译,也许可以应用smudge/clean脚本以及从工作目录中获得的所有其他功能。您仍然可以从那里导出以获取用于部署的工件。请阅读原始问题。如果你真的读过这个问题,你就会明白我想要的正是避免克隆和导出。我想从存档中构建,而不是从工作目录中构建。