【问题标题】:git bundle: bundle tags and headsgit bundle:捆绑标签和头部
【发布时间】:2011-04-19 16:09:32
【问题描述】:

我在几台机器上开发。我想在每台开发机器上为我的每个项目都有一个存储库,并且我希望在不使用可以推送到的远程存储库的情况下使它们保持同步。 (目前我买不起用于此目的的专用机器)。

我认为 git bundle 是适合这项工作的工具。当我在机器 A 上完成工作后,我只是将我的 repo 打包,然后在机器 B 上解绑。这给我留下了以下问题:

是否可以在捆绑包中嵌入有关标签和分支的信息?具体来说,如何捆绑标签对象?

编辑:请注意 - 我希望让这个工作流程尽可能自动化。我不想将捆绑包视为遥控器。而不是那样,我想将包复制到我的存储库中 - 即添加提交和标签,快进现有分支并在分支不存在时添加新分支。

【问题讨论】:

    标签: git bundle


    【解决方案1】:
    git bundle create RA.bundle --branches --tags
    

    将包括有关所有标签和所有分支的信息。

    git bundle 接受git rev-parsegit rev-list 可接受的参数列表(并包含命名的引用,请参阅SPECIFYING REFERENCES),指定特定对象和对传输的引用。

    --branches[=<pattern>]
    

    假设refs/heads 中的所有引用都在命令行中列为&lt;commit&gt;
    如果给定&lt;pattern&gt;,则将分支限制为与给定shell glob匹配的分支。
    如果模式缺少?,[,则暗示末尾的/

    --tags[=<pattern>]
    

    假装 refs/tags 中的所有 refs 都在命令行上列为&lt;commit&gt;
    如果给定&lt;pattern&gt;,则将标签限制为与给定shell glob匹配的标签。
    如果模式在末尾缺少?,[, /

    【讨论】:

    • 有人想出如何做到这一点,包括提交范围内的标签,而不是像上述解决方案那样的所有标签?
    • @robinspb 你可以像git bundle create ^fromReference currentReference那样做。提交范围。
    猜你喜欢
    • 1970-01-01
    • 2012-08-21
    • 1970-01-01
    • 2013-02-14
    • 1970-01-01
    • 2014-12-03
    • 2019-01-24
    • 1970-01-01
    • 2012-10-15
    相关资源
    最近更新 更多