JGit
Posted by Bruce Tsai
07/04/2016
如果你想在一個 Java 程式中使用 Git ,有一個功能齊全的 Git 類別庫,那就是 JGit 。 JGit 是一個用 Java 寫成的功能相對健全的 Git 的實作,它在 Java 社區中被廣泛使用, 並且 JGit 專案由 Eclipse 維護。
使用範例
// 创建一个新仓库
Repository newlyCreatedRepo = FileRepositoryBuilder.create(
new File("/tmp/new_repo/.git"));
newlyCreatedRepo.create();
// 打开一个存在的仓库
Repository existingRepo = new FileRepositoryBuilder()
.setGitDir(new File("my_repo/.git"))
.build();
// 获取引用
Ref master = repo.getRef("master");
// 获取该引用所指向的对象
ObjectId masterTip = master.getObjectId();
// Rev-parse
ObjectId obj = repo.resolve("HEAD^{tree}");
// 装载对象原始内容
ObjectLoader loader = repo.open(masterTip);
loader.copyTo(System.out);
// 创建分支
RefUpdate createBranch1 = repo.updateRef("refs/heads/branch1");
createBranch1.setNewObjectId(masterTip);
createBranch1.update();
// 删除分支
RefUpdate deleteBranch1 = repo.updateRef("refs/heads/branch1");
deleteBranch1.setForceUpdate(true);
deleteBranch1.delete();
// 配置
Config cfg = repo.getConfig();
String name = cfg.getString("user", null, "name");