Jgit
官网地址
http://www.eclipse.org/jgit/
仓库地址
https://gitee.com/mirrors/jgit
用途
可以通过代码调用git对象对不同git Repository,所以可以通过它去实现一些多项目代码管理小工具,比如某个项目中的固定流程或者不同项目之间的交互,通过代码减少人工操作。
使用
依赖
<dependency>
<groupId>org.eclipse.jgit</groupId>
<artifactId>org.eclipse.jgit-parent</artifactId>
<version>6.1.0.202203080745-r</version>
<type>pom</type>
</dependency>
获取Repository对象
代码示例:https://wiki.eclipse.org/JGit/User_Guide#git-add
官方文档非常旧并且很久没更新了,上次是2010年。。。。
//官方代码
Repository repository = new FileRepositoryBuilder()
.setGitDir(new File("C:\\..\\.git"))
.readEnvironment()
.findGitDir() // scan up the file system tree
.build();
// 一般选择封装成方法
/*
* @Author Larry Luo
* @Date 9:55 2022/4/12
* @Description 获取git的repository
* @param: dir 项目中.git文件本地路径
* @Return org.eclipse.jgit.lib.Repository
* @Exception
*/
public static Repository getRepository(String dir) {
try {
Repository repository = new FileRepositoryBuilder()
.setGitDir(new File("C:\\..\\.git"))
.readEnvironment()
.findGitDir()
.build();
return repository;
} catch (IOException e) {
e.printStackTrace();
return null;
}
}
获取GIT对象
拿到git对象后就可以去执行git操作了
public static Git getGitObj(Repository repository) {
Git git = null;
git = new Git(repos