【问题标题】:Creating a bare git repository with specific default branch using Jgit使用 Jgit 创建具有特定默认分支的裸 git 存储库
【发布时间】:2021-03-09 01:11:36
【问题描述】:

从 Git 版本 2.28.0 开始,我们可以使用特定的默认分支创建存储库

git init --initial-branch=trunk

我想对裸存储库的 Jgit 做同样的事情,但在 Git.javaInitCommand.java 中找不到相应的 API。

Jgit 支持这个功能吗?

谢谢。

【问题讨论】:

  • 您也可以接受默认值,然后在创建后重命名。
  • 要重命名引用,我认为我们需要在存储库中存在具体的引用。但在这种情况下,由于它的存储库是空的,我们将没有master 的引用。只有 HEAD 将具有价值 /refs/heads/master
  • 我认为非裸 Git 存储库没有默认分支的概念。要模拟--initial-branch,您只需将master 重命名为初始分支的名称即可。 RenameCommand 记录在这里:archive.eclipse.org/jgit/site/4.9.0.201710071750-r/apidocs/org/…
  • @RüdigerHerrmann 我没有提到我的问题是在裸 git 存储库的上下文中。
  • 初始化裸仓库后,您只需将HEAD 更改为指向refs/heads/trunk。 JGit 提供了 RefUpdate 来直接操作 refs (github.com/eclipse/jgit/blob/master/org.eclipse.jgit/src/org/…)。这是你要找的吗?

标签: git jgit


【解决方案1】:

JGit 目前(2020 年第四季度)不支持/实现此功能

您可以使用--separate-git-dir 选项查看InitCommandTest.java 中的测试,但使用--initial-branch 则没有。

考虑到git init --initial-branch=xxx 不会在.git/config 文件中留下任何可见的本地配置,这不是在存储库创建步骤中容易复制的功能。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-02-22
    • 2017-08-09
    • 2013-02-15
    • 2015-09-30
    • 2014-09-13
    • 1970-01-01
    • 2014-09-15
    • 2013-01-30
    相关资源
    最近更新 更多