使用git修订版而不是分支作为卷展参考的利弊

使用git修订版而不是分支作为卷展参考的利弊,git,build-automation,Git,Build Automation,我正在用git编写一个phing脚本,用于构建自动化,而且还是新手。为了给大家一点想法,我们计划在我们的项目中有多个分支,其中任何一个都可以推出(我们几乎可以肯定这一部分) 在开发实现构建脚本的思想过程中,我考虑了一段时间将git分支作为构建脚本的输入,然后转而提供git修订版(可能属于任何分支)。现在,随着我知识的进一步增长,我再次支持使用git分支引用 我想探讨一下人们已经经历过的这两种方法的利弊,以便其他人从一开始就有一些参考 我今天意识到使用修订版的最新问题是,似乎我必须将所有分支拉到本

我正在用git编写一个phing脚本,用于构建自动化,而且还是新手。为了给大家一点想法,我们计划在我们的项目中有多个分支,其中任何一个都可以推出(我们几乎可以肯定这一部分)

在开发实现构建脚本的思想过程中,我考虑了一段时间将git分支作为构建脚本的输入,然后转而提供git修订版(可能属于任何分支)。现在,随着我知识的进一步增长,我再次支持使用git分支引用

我想探讨一下人们已经经历过的这两种方法的利弊,以便其他人从一开始就有一些参考


我今天意识到使用修订版的最新问题是,似乎我必须将所有分支拉到本地,以便能够找到包含修订版的分支,这样我就可以将工作目录移动到该修订版。选中。

如果要引用特定版本,请创建一个。标记用于识别特定的构建和发布的版本。标记指向特定的提交,就像分支头一样,但与分支头不同,它不会随着其他提交的添加而改变。

为什么需要知道包含提交的分支,只需
获取
存储库的最新更改和
签出
您想要的sha。@BjörnKautler不获取更新,只更新本地存储库中已有的分支?正如我在您的链接问题中所说的,获取更新整个远程存储库,包括获取新分支(如果使用--prune,则删除过时分支),至少如果您没有通过配置或参数告诉Git其他情况。它当然不会从新的远程分支创建本地分支,但没有相应参数的克隆也不会“标记指向特定的提交,就像分支头一样,但与分支头不同,它不会随着附加提交的添加而改变。”你是说这是使用标记引用而不是分支的好处吗?抱歉,但我无法理解这是一个什么优势?当您构建和部署特定修订版时,您需要一种可靠的方式来引用该确切修订版:您希望能够说“此修订版是1.0版”,并且即使添加了更多提交(例如,对1.1的更改),它仍然保持不变。你可以使用提交ID,但是它们很难记住。标记是特定提交ID的可读名称。