github 与分支相关的版本,由 jitpack 使用

github releases in relation to branching, as used by jitpack

正在查看:

https://help.github.com/articles/about-releases/

这似乎是 github 特有的,而不是一般的 git 功能。从我的角度来看,我的用法与分支没有什么不同。也就是说,branch x 只是一个标记。也许是错误修复,也许是添加了功能,无论如何,也许是实验性的。诚然,我是 git 的轻度用户,不会充分发挥分支或合并的潜力。

这个功能对于 jitpack 来说似乎完全没用。然而,这似乎对 jitpack 的运作方式至关重要。为什么?

据我了解,jitpack 是在 repo 上创建一个版本,然后 jitpack 会自动编译一个 JAR,并可通过 maven 插件下载。

为什么要使用发布功能?起初我将 JAR 文件上传到一个版本,但实际上并不是必需的。 使用 github 版本作为标记比使用分支作为标记更好吗?事实上,它似乎具有相同的功能,并且从这个意义上说,重复分支机构的功能。

大概是有道理的。

it looks like this is specific to github, and not a general git feature.

是的。

My usage is, from my perspective, no different than branching. That is, branch x is just a marker

不,它不是:GitHub 版本与标签相关联(固定 标记),而不是分支(shifting 标记,其 HEAD 在每次新提交时都会更改)

This feature seems totally useless in relation to jitpack. And, yet, seems crucial to how jitpack operates. Why?

因为这就是构建的交付存储在 GitHub 上的方式,与用于构建所述交付的源的精确版本相关(通过标签)

Why use the release feature?

因为二进制文件未存储在 git 存储库本身中(它用于版本源,而不是二进制文件)。因此,该版本与引用该二进制文件源版本的标签相关联。

How is using github release as a marker better than using a branch as a marker?

因为分支不是标记(而是用来记录源的演变)。
标签是一个标记(并且可以关联到从由所述标签标记的源构建的交付)


Atlasian gitflow”中描述的 "release branch" 概念与 GitHub 版本不同。

  • 一个用于记录给定版本 11.1.0、11.1.1、11.1.2 等的源版本。
  • 另一个是将二进制文件与 GitHub 站点上的标签相关联,以允许回购协议的用户不必编译源代码(并避免将相同的二进制文件存储在回购协议本身中, 使其太大而不易克隆)