jjzjj

java - 使用 JGIT,如何检索添加/删除行的行号

假设将以下代码提交到Git存储库:inttest(){inta=3;intb=4;intc=a+b;returnc;}稍后更新为inttest(){return7;}我目前有一个使用JGitAPI的方法来访问提交上述内容的Git存储库,并输出类似于以下内容的字符串:inttest(){-inta=3;-intb=4;-intc=a+b;-returnc;+return7;}现在,我的要求已经改变,只想知道改变的行的行号。所以我想要如下内容:2-inta=3;3-intb=4;4-intc=a+b;5-returnc;2+return7;基本上,与GitHub应用程序在进行更新时提供的信

java - 如何使用 JGit 获取文件更改列表?

使用JGit,我想获得一个提交文件中的更改列表,这可以通过gitlog--full-history-p-1获得。.这可能吗?如果是这样,你是怎么做到的?我知道如何获取每个提交,并查看提交消息://LoadrepoFileRepositoryBuilderbuilder=newFileRepositoryBuilder();Repositoryrepo=builder.setGitDir(newFile("/path/to/repo/.git")).setMustExist(true).build();Gitgit=newGit(repo);//getcommitsIterablelog

java - 你如何为 jgit 设置 jschconfigsessionfactory 的配置,以便 pull 和 push 工作?

我正在尝试通过以下代码使用jgit的api进行gitpull/pushorg.eclipse.jgit.api.Git.open(theRepoFile).pull().call()但是我遇到了异常JSchExceptionAuthfailcom.jcraft.jsch.Session.connect(Session.java:461)org.eclipse.jgit.transport.JschConfigSessionFactory.getSession(JschConfigSessionFactory.java:116)org.eclipse.jgit.transport.Ssh

java - 使用 jGit 循环提交文件

我已经掌握了jGit文件的基础知识,包括连接到存储库以及添加、提交甚至循环提交文件的消息。FilegitDir=newFile("/Users/myname/Sites/helloworld/.git");RepositoryBuilderbuilder=newRepositoryBuilder();Repositoryrepository;repository=builder.setGitDir(gitDir).readEnvironment().findGitDir().build();Gitgit=newGit(repository);RevWalkwalk=newRevWalk

java - 使用 JGit 获取所有分支

如何使用JGit获取存储库中的所有分支?让我们采取examplerepository.正如我们所见,它有5个分支。Here我找到了这个例子:intc=0;Listcall=newGit(repository).branchList().call();for(Refref:call){System.out.println("Branch:"+ref+""+ref.getName()+""+ref.getObjectId().getName());c++;}System.out.println("Numberofbranches:"+c);但我得到的只是这个:Branch:Ref[refs

java - JGit - 推送分支并添加上游(-u 选项)

在JGit中,我搜索了一种推送分支并添加上游引用(跟踪)的方法。它是选项-u或--set-upstream进入pushcommand.我在PushCommand类中没有看到允许执行此操作的方法。拜托,你能告诉我我该怎么做吗?PushCommandpushCommand=git.push().setRemote(remoteAlias).setRefSpecs(spec); 最佳答案 JGitPushCommand不提供此功能(目前),但您可以像--set-upstream那样修改存储库配置。如果您将远程别名传递给setRemote(

java - 使用 JGit 从 Git 存储库中 check out 特定修订

我正在尝试使用jGit克隆存储库并checkout特定提交。假设提交哈希是:1e9ae842ca94f326215358917c620ac407323c81。我的第一步是://CloningtherepositoryGit.cloneRepository().setURI(remotePath).setDirectory(localPath).call();然后我发现了另一个建议这种方法的问题:git.checkout().setCreateBranch(true).setName("branchName").setUpstreamMode(CreateBranchCommand.Se

DevOps系列文章 之 Java使用jgit管理git仓库

最近设计基于gitops新的CICD方案,需要通过java读写git仓库,这里简单记录下。在jgit中,存在最核心的三个组件:Git类,Repository类。Git类中包含了pushcommit之类的常见git操作,而Repository则实现了仓库的初始化和基本的管理功能。Git类的实例都会持有一个Repository实例。Repository类的初始化针对一个git仓库,我们一般会有三种方式获得1.新建一个空仓库Gitgit=Git.init().setDirectory(localPath).call()2.加载一个已存在的仓库Repositoryrepository=builder.

java - JGit:如何获取分支的所有提交? (不改变工作目录...)

如何在不更改工作目录的情况下使用JGit获取分支的所有提交?不幸的是,JGit文档不是很好......在带有grit的ruby​​中,这非常简单:repo=Grit::Repo.new(pathToRepo)repo.commits(branchName,false).eachdo|commit|doSomethingWithTheCommitend再见,胡里克 最佳答案 首先在这里尝试:https://stackoverflow.com/a/13925765/2246865但它并不总是有效,所以我在这里找到了这个:http://w

org.eclipse.jgit.api.errors.TransportException

SpringCloud下报错org.eclipse.jgit.api.errors.TransportException:git@github.com:XXX:Authfail(成功解决)由于SpringCloudConfig默认使用git来存储配置文件,所以在连接github就出现了此问题,直接上解决方案。spring:cloud:config:server:git:uri:https://github.com/XXX/XXX.git#GitHub上git仓库名search-paths:-springcloud-configskip-ssl-validation:true#跳过ssl验证us