git - JGit:git submodule foreach 命令

标签 git git-submodules jgit

我知道 JGit 对 git 子模块的支持是有限的,但我仍然想知道我该如何实现:

git submodule foreach git checkout <branchName>

以及使用 JGit 的类似命令。

或者还有其他更好的基于 Java 的 Git API 吗?

最佳答案

在 JGit 中有一个 SubmoduleWalk 可能有助于解决您的问题。要在所有子模块上运行 checkout 命令,您可以按照以下几行编写一些内容:

try (SubmoduleWalk walk = SubmoduleWalk.forIndex(repository)) {
  while(walk.next()) {
    try (Repository submoduleRepository = walk.getRepository()) {
      Git.wrap(submoduleRepository).checkout().call();
    }
  }
}

关于git - JGit:git submodule foreach 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21327257/

相关文章:

git - "git submodule absorbgitdirs"的对面/反面?

git - 从 git 中的 checkout 后 Hook 设置环境变量

git - 如何将 Git 项目迁移为包含子项目的一个项目

git filter-tree 和修改子模块

java - 如何使用 JGit 检查 Git 克隆是否已经完成

java - 使用 JGit 提交字符串

java - 如何在 jGit 中使用过滤器?

git - 全局 git 配置数据存储在哪里?

git - 通过带有 SSL bump 的 Squid 使用 SSH 连接到 Git

git - Jenkins 使用错误的邮件地址来邮寄构建结果