git bundle:捆绑标签和头

Max*_*axB 6 git bundle

我在几台机器上开发.我想为每个开发机器上的每个项目都有一个存储库,我想让它们保持同步而不使用我可以推送的远程存储库.(目前我买不起专用机器).

我认为git bundle是适合这项工作的工具.当我在机器A上完成工作时,我只是简单地捆绑我的仓库,并在机器B上解开捆绑.这让我有了这样的问题:

是否可以在包中嵌入有关标签和分支的信息?特别是,我如何捆绑标签对象?

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

Von*_*onC 7

git bundle create RA.bundle --branches --tags
Run Code Online (Sandbox Code Playgroud)

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

git bundle获取一个参数列表,可接受git rev-parsegit rev-list(并包含一个命名参考,参见SPECIFYING REFERENCES),它指定特定对象和传输引用.

--branches[=<pattern>]
Run Code Online (Sandbox Code Playgroud)

假设所有引用refs/heads都在命令行中列出为<commit>.
如果<pattern>给定,则将分支限制为与给定shell glob匹配的分支.
如果模式没有?,,或者[,/在结束时暗示.

--tags[=<pattern>]
Run Code Online (Sandbox Code Playgroud)

伪装成refs/tags中的所有引用都在命令行中列出<commit>.
如果<pattern>给定,则将标记限制为与给定shell glob匹配的标记.
如果模式缺乏?,,或者[, /最后暗示.

  • 任何人都想出了如何做到这一点,包括在提交范围内的标签,而不是像上述解决方案那样的所有标签? (3认同)
  • @robinspb 你可以像 `git bundle create ^fromReference currentReference` 那样做。对于提交范围。 (2认同)