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.StoredConfig; import org.eclipse.jgit.transport.CredentialsProvider; import org.eclipse.jgit.transport.PushResult; import org.eclipse.jgit.transport.UsernamePasswordCredentialsProvider; import java.io.File; import java.io.IOException; import java.util.Iterator; /** * Created by 581854 on 2017-06-09 10:03. * GitTest */ public class GitTest { public static void main(String[] args) throws GitAPIException, IOException { File dir = new File("/test"); String url = "http://581854@git.xxx.bj/archg/test.git"; String name = "581854"; String password = "******"; // credentials CredentialsProvider credentialsProvider = new UsernamePasswordCredentialsProvider(name, password); Git git = Git.init().setDirectory( dir ).call(); StoredConfig config = git.getRepository().getConfig(); config.setString("remote", "origin", "url", "http://581854@git.xxx.bj/archg/test.git"); config.save(); // clone // CloneCommand cloneCommand = new CloneCommand().setCredentialsProvider(credentialsProvider).setDirectory(dir).setURI(url); // Git git = cloneCommand.call(); // add AddCommand addCommand = git.add(); addCommand.addFilepattern("."); addCommand.call(); // commit CommitCommand commit = git.commit(); commit.setCommitter("黄", "huang@xxx.com").setMessage("Add all project template files ..."); commit.call(); // push PushCommand pushCommand = git.push(); pushCommand.setCredentialsProvider(credentialsProvider).setForce(true).setPushAll(); Iterator<PushResult> it = pushCommand.call().iterator(); if (it.hasNext()) { System.out.println(it.next().toString()); } // cleanup //dir.deleteOnExit(); } }
<dependency> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit</artifactId> <version>4.4.0.201606070830-r</version> </dependency>
相关推荐
- **GiylabApi**:可能是一个自定义封装的API,用于与GitLab服务器交互,如获取项目信息、创建/删除分支、触发CI/CD流程等。 - **认证**:在与GitLab API交互时,通常需要提供有效的认证信息,如私有token或OAuth2...
JGit是Java实现的一个分布式版本控制系统,它提供了一个命令行接口和API,使得开发者可以在Java应用程序中集成版本控制功能。...通过深入学习和实践,开发者可以充分利用JGit的特性,提升项目的版本控制能力。
总的来说,"scala-amazon-queue.zip"项目和Eclipse JGit结合,为开发者提供了一套完整的工具集,能够在Scala环境中高效地管理和处理AWS云存储和消息传递,同时利用开源的力量进行持续改进和创新。
在本文中,我们将深入探讨JGit的基本概念、核心功能以及如何在Java项目中使用它。 **JGit 的基本概念** 1. **仓库(Repository)**:在JGit中,仓库是存储所有Git对象的地方,包括提交(commits)、树(trees)、 ...
标题 "org.eclipse.jgit.junit.http-0.9.9.99.2-UNOFFICIAL-ROBERTO-RELEASE.zip" 提供的信息显示,这可能是一个用于测试HTTP协议的JUnit扩展,源自Eclipse JGit项目。JGit是一个用Java编写的分布式版本控制系统,而...
标题中的"org.eclipse.jgit.pgm-3.2.0.0.2-UNOFFICIAL-ROBERTO-RELEASE.zip"表明这是一个与Eclipse JGit相关的软件包。Eclipse JGit是一个用Java编写的轻量级、纯Java库,用于处理Git版本控制系统。它提供了命令行...
标题 "easy-jgit: JGit API 的简单包装器" 暗示着这是一个针对JGit库的封装项目,旨在提供更加简洁易用的API接口,方便开发者进行版本控制操作。JGit是一个用Java编写的轻量级、纯Java的Git实现,可以在不依赖操作...
这将下载最新版本的 org.eclipse.jgit 并在 MATLAB 首选项目录中编辑名为 javaclasspath.txt 的 Java 类路径文件,如果 javaclasspath.txt 已经存在,则创建一个名为 javaclasspath.txt.JGitSaved 的副本。...
入门抓住它git clone git://github.com/centic9/jgit-cookbook进行构建并创建Eclipse项目文件使用Maven时mvn dependency:sources eclipse:eclipse package使用Gradle时./gradlew eclipse check运行Import the ...
压缩包中的"jgit-cookbook_master.zip"可能是一个JGit的示例项目或者代码库,通常称为“JGit Cookbook”,它包含了各种示例代码和教程,帮助开发者了解如何使用JGit执行实际操作。这些示例可能涵盖以下几个方面: 1...
- **示例代码**:项目可能会包含各种示例代码,演示如何使用JGit进行版本控制操作,例如创建一个新的Git仓库、添加文件、提交更改以及与其他远程仓库交互。 - **测试用例**:为了确保JGit的功能正确无误,项目可能...
【创建存储库】在JGit中,创建一个新的Git存储库可以通过以下步骤完成: 1. 首先,你需要一个本地目录作为仓库的根目录。 2. 使用`FileRepositoryBuilder`创建一个`Repository`实例,指定你的目录路径。 3. 调用`...
1. **仓库操作**:jgit提供了创建、克隆、打开和初始化Git仓库的API,使得开发者可以在Java代码中轻松管理Git仓库。 2. **提交和版本控制**:可以进行添加文件到暂存区、提交更改、查看提交历史等操作,实现了Git的...
6. **集成测试支持**:对于持续集成和自动化测试,JGitToolbox 可能提供了一套工具,用于创建临时的 Git 仓库,模拟不同的分支和提交历史,便于测试代码在不同版本控制场景下的行为。 7. **代码分析和报告**:基于 ...
它提供了对Git仓库的读写操作,包括创建、克隆、拉取、推送等,广泛应用于开发环境中,尤其是那些不希望依赖于系统Git安装的项目。 JGit的JUnit模块通常包含了针对HTTP协议的测试用例,用于验证JGit在通过HTTP协议...
**正文** 本项目名为"jgitflow-test",是一个基于Maven构建的Java应用程序,旨在探索和测试...通过这个项目,你可以了解特性分支工作流的优势,以及如何在实际项目中有效地利用jgit-flow来提高协作效率和代码质量。
总之,"pure java git solution.zip"可能包含了一个使用JGit实现的完整Git操作库或者示例项目,涵盖了从初始化仓库到远程操作、分支管理以及冲突解决的各个方面。这个压缩包的学习可以帮助开发者深入理解如何在Java...
- **Git简史与基本概念**:Git是由Linus Torvalds于2005年为了更好地管理Linux内核的开发而创建的一种分布式版本控制系统。它允许开发者们在各自的环境中进行修改,然后再将这些修改合并到一个共享的主分支中。 - *...
2. **分支管理**:Git的分支操作非常轻量级,允许开发者快速创建、切换和合并分支,促进并行开发和代码审查。 3. **版本控制**:通过哈希值跟踪文件的每一个变化,Git提供了强大的版本控制功能,可以追溯到任何历史...