`
teclick
  • 浏览: 3247 次
社区版块
存档分类
最新评论

JGit 创建项目

    博客分类:
  • Git
 
阅读更多
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>

 

分享到:
评论

相关推荐

    JGit工具类包 超全 可用

    - **GiylabApi**:可能是一个自定义封装的API,用于与GitLab服务器交互,如获取项目信息、创建/删除分支、触发CI/CD流程等。 - **认证**:在与GitLab API交互时,通常需要提供有效的认证信息,如私有token或OAuth2...

    jgit jar&doc;

    JGit是Java实现的一个分布式版本控制系统,它提供了一个命令行接口和API,使得开发者可以在Java应用程序中集成版本控制功能。...通过深入学习和实践,开发者可以充分利用JGit的特性,提升项目的版本控制能力。

    org.eclipse.jgit-3.0.0.201306101825-r.zip

    总的来说,"scala-amazon-queue.zip"项目和Eclipse JGit结合,为开发者提供了一套完整的工具集,能够在Scala环境中高效地管理和处理AWS云存储和消息传递,同时利用开源的力量进行持续改进和创新。

    jgit-experiment:学习 JGit

    在本文中,我们将深入探讨JGit的基本概念、核心功能以及如何在Java项目中使用它。 **JGit 的基本概念** 1. **仓库(Repository)**:在JGit中,仓库是存储所有Git对象的地方,包括提交(commits)、树(trees)、 ...

    org.eclipse.jgit.junit.http-0.9.9.99.2-UNOFFICIAL-ROBERTO-RELEASE.zip

    标题 "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

    标题中的"org.eclipse.jgit.pgm-3.2.0.0.2-UNOFFICIAL-ROBERTO-RELEASE.zip"表明这是一个与Eclipse JGit相关的软件包。Eclipse JGit是一个用Java编写的轻量级、纯Java库,用于处理Git版本控制系统。它提供了命令行...

    easy-jgit:JGit API 的简单包装器

    标题 "easy-jgit: JGit API 的简单包装器" 暗示着这是一个针对JGit库的封装项目,旨在提供更加简洁易用的API接口,方便开发者进行版本控制操作。JGit是一个用Java编写的轻量级、纯Java的Git实现,可以在不依赖操作...

    JGit4MATLAB:JGit4MATLAB 是 MATLAB 中 JGit 的包装器。 它旨在从 MATLAB 命令窗口使用。-matlab开发

    这将下载最新版本的 org.eclipse.jgit 并在 MATLAB 首选项目录中编辑名为 javaclasspath.txt 的 Java 类路径文件,如果 javaclasspath.txt 已经存在,则创建一个名为 javaclasspath.txt.JGitSaved 的副本。...

    jgit-cookbook:提供有关JGit Java Git实现的示例和代码段

    入门抓住它git clone git://github.com/centic9/jgit-cookbook进行构建并创建Eclipse项目文件使用Maven时mvn dependency:sources eclipse:eclipse package使用Gradle时./gradlew eclipse check运行Import the ...

    提供JGit Java Git实现的示例和代码片段.zip

    压缩包中的"jgit-cookbook_master.zip"可能是一个JGit的示例项目或者代码库,通常称为“JGit Cookbook”,它包含了各种示例代码和教程,帮助开发者了解如何使用JGit执行实际操作。这些示例可能涵盖以下几个方面: 1...

    jgit-test:用于测试

    - **示例代码**:项目可能会包含各种示例代码,演示如何使用JGit进行版本控制操作,例如创建一个新的Git仓库、添加文件、提交更改以及与其他远程仓库交互。 - **测试用例**:为了确保JGit的功能正确无误,项目可能...

    JGit - zzm - ITeye博客1

    【创建存储库】在JGit中,创建一个新的Git存储库可以通过以下步骤完成: 1. 首先,你需要一个本地目录作为仓库的根目录。 2. 使用`FileRepositoryBuilder`创建一个`Repository`实例,指定你的目录路径。 3. 调用`...

    jgit:Java代码来处理Git

    1. **仓库操作**:jgit提供了创建、克隆、打开和初始化Git仓库的API,使得开发者可以在Java代码中轻松管理Git仓库。 2. **提交和版本控制**:可以进行添加文件到暂存区、提交更改、查看提交历史等操作,实现了Git的...

    jgit-toolbox:JGitToolbox 是 JGit 之上的一组工具

    6. **集成测试支持**:对于持续集成和自动化测试,JGitToolbox 可能提供了一套工具,用于创建临时的 Git 仓库,模拟不同的分支和提交历史,便于测试代码在不同版本控制场景下的行为。 7. **代码分析和报告**:基于 ...

    org.eclipse.jgit.junit.http-2.99.99.1.0-UNOFFICIAL-ROBERTO-RELEASE.zip

    它提供了对Git仓库的读写操作,包括创建、克隆、拉取、推送等,广泛应用于开发环境中,尤其是那些不希望依赖于系统Git安装的项目。 JGit的JUnit模块通常包含了针对HTTP协议的测试用例,用于验证JGit在通过HTTP协议...

    jgitflow-test:尝试使用Maven jgit-flow插件的测试项目

    **正文** 本项目名为"jgitflow-test",是一个基于Maven构建的Java应用程序,旨在探索和测试...通过这个项目,你可以了解特性分支工作流的优势,以及如何在实际项目中有效地利用jgit-flow来提高协作效率和代码质量。

    pure java git solution.zip

    总之,"pure java git solution.zip"可能包含了一个使用JGit实现的完整Git操作库或者示例项目,涵盖了从初始化仓库到远程操作、分支管理以及冲突解决的各个方面。这个压缩包的学习可以帮助开发者深入理解如何在Java...

    git官方教程

    - **Git简史与基本概念**:Git是由Linus Torvalds于2005年为了更好地管理Linux内核的开发而创建的一种分布式版本控制系统。它允许开发者们在各自的环境中进行修改,然后再将这些修改合并到一个共享的主分支中。 - *...

    非常好用的工具类git

    2. **分支管理**:Git的分支操作非常轻量级,允许开发者快速创建、切换和合并分支,促进并行开发和代码审查。 3. **版本控制**:通过哈希值跟踪文件的每一个变化,Git提供了强大的版本控制功能,可以追溯到任何历史...

Global site tag (gtag.js) - Google Analytics