我知道在JGit中对git子模块的支持是有限的,但仍然想知道如何实现这一点:
git submodule foreach git checkout <branchName>
和使用JGit的类似命令。
或者Git还有其他更好的基于Java的API吗?
答案 0 :(得分:3)
在JGit中,有SubmoduleWalk
可能有助于解决您的问题。要在所有子模块上运行checkout命令,您可以在这些行中写一些内容:
SubmoduleWalk walk = SubmoduleWalk.forIndex( repository );
while( walk.next() ) {
Repository submoduleRepository = walk.getRepository();
Git.wrap( submoduleRepository ).checkout().call();
submoduleRepository.close();
}
walk.release();