java使用jgit提交代码
2015-09-20 21:24
375 查看
import org.eclipse.jgit.api.AddCommand; import org.eclipse.jgit.api.CommitCommand; import org.eclipse.jgit.api.Git; import org.eclipse.jgit.api.PushCommand; import org.eclipse.jgit.api.errors.GitAPIException; import org.eclipse.jgit.lib.Repository; import org.eclipse.jgit.revwalk.RevCommit; import org.eclipse.jgit.storage.file.FileRepositoryBuilder; import org.junit.Test; import java.io.File; import java.io.IOException; /** * Created by kxw on 2015/9/18. * {<a href='http://wiki.eclipse.org/JGit/User_Guide'>@link</a>} */ public class TestJgit { @Test public void test() throws IOException, GitAPIException { //在用户的账号配置了ssh,即可提交 FileRepositoryBuilder builder = new FileRepositoryBuilder(); String projectURL = System.getProperty("user.dir"); Repository repository = builder.setGitDir(new File(projectURL.substring(0, projectURL.lastIndexOf("\\"))+"\\.git")) .readEnvironment() // scan environment GIT_* variables .findGitDir() // scan up the file system tree .build(); Git git = new Git(repository); AddCommand add = git.add(); add.addFilepattern(".").call();//git add . CommitCommand commit = git.commit(); /**-Dusername=%teamcity.build.username%**/ commit.setCommitter("Kingson_Wu", "Kingson_Wu@163.com"); commit.setAuthor("Kingson_Wu","Kingson_Wu@163.com"); commit.setAll(true); //commit.setCommitter(new PersonIdent(repository)); RevCommit revCommit = commit.setMessage("use jgit").call();//git commit -m "use jgit" String commitId = revCommit.getId().name(); System.out.println(commitId); PushCommand push = git.push(); push.call();//git push } @Test public void testURL(){ String url = this.getClass().getClassLoader().getResource("").getPath(); System.out.println(url); String projectURL = System.getProperty("user.dir"); //System.out.println(projectURL.lastIndexOf("\\")); System.out.println(projectURL.substring(0, projectURL.lastIndexOf("\\"))+"\\.git"); } }
reference: http://wiki.eclipse.org/JGit/User_Guide
github code :https://github.com/Kingson4Wu/Utils4Java/tree/master/jgit
相关文章推荐
- 二维数组的表示及输出
- 可能导致Java内存泄漏的几项原因
- Java Web计算器。
- Weka各类分类器的使用(Java)
- spring3.2配置文件
- 统计整理eclipse常用快捷键
- java中加载声音文件的方法
- Java计算器程序代码
- java编写的仓库管理系统源代码或详细设计
- [JavaWeb基础] 019.Struts2 MVC架构之ModelDriven
- 绝对路径和相对路径在javaee工程下的区别
- Java基础-super关键字与this关键字
- Java基础-super关键字与this关键字
- Java基础-super关键字与this关键字
- 基于JAVA语言的多线程技术
- java垃圾回收器
- java窗体跳转
- netbeans计算器
- 《Java编程思想》学习记录仪二 -- 2.2.1 java中存储域及特点(第二章一切都是对象)
- Java设计模式菜鸟系列(十三)建模和实现状态模式