我正在尝试使用jGit克隆存储库并签出特定的提交。
假设提交哈希为:1e9ae842ca94f326215358917c620ac407323c81。
我的第一步是:
// Cloning the repository
Git.cloneRepository()
.setURI(remotePath)
.setDirectory(localPath)
.call();
然后我发现另一个问题建议这种方法:
git.checkout().
setCreateBranch(true).
setName("branchName").
setUpstreamMode(CreateBranchCommand.SetupUpstreamMode.TRACK).
setStartPoint("origin/" + branchName).
call();
但我不知道如何将两者联系起来?
有什么想法吗?
您必须首先克隆存储库,因此您的第一步是正确的:
Git.cloneRepository().setURI(remotePath).setDirectory(localPath).call();
要仅通过其id签出提交,可以调用<code>checkout</code>如下所示:
git.checkout().setName("<id-to-commit>").call();
但是请注意,这将导致分离的HEAD。为了避免这种情况,您可以告诉check out
首先创建一个指向提交的新分支,然后签出该分支。
git.checkout().setCreateBranch(true).setName("new-branch").setStartPoint("<id-to-commit>").call();
API不是很直观,但它做了它应该做的。
问题内容: 我正在尝试使用jGit克隆存储库并签出特定的提交。 假设提交哈希为:1e9ae842ca94f326215358917c620ac407323c81。 我的第一步是: 然后,我发现了另一个提出这种方法的问题: 但是我不确定如何将两者链接在一起? 有什么想法吗? 问题答案: 您将必须首先克隆存储库,因此第一步是正确的: 要仅通过ID检出提交,可以这样调用: 但是请注意,这将导致HEAD分
我目前集成了maven、jenkins、Nexus和git,我正在学习这些工具。 我的要求是告诉maven只从pom中提到的存储库下载依赖项。xml,而不是来自我的Nexus存储库,但它的作用恰恰相反。 我已经在my settings.xml的repository下声明了我的Nexus版本和快照存储库。我如何告诉maven从特定的存储库而不是Nexus repo下载依赖项。 下面是我的pom。xm
我正在使用JGit访问远程Git回购,我需要为此使用SSH。JGit使用JSch提供安全访问。但是,我不确定如何设置JGit的密钥文件和知道主机文件。我所尝试的如下。 创建SshSessionFactory的自定义配置,通过子类化JSchConfigSessionFactory使用: 在我访问远程Git回购的类中,执行了以下操作: 我不知道如何将这个JSch对象与JGit关联,以便它能够成功地连接
问题内容: 我想使用JGit获取存储库中的最后提交元数据(按日期最小的提交)。 我知道我可以使用以下方式获取提交元数据 但是如何获取最新的提交哈希? 还有其他方法可以直接在存储库中按日期获取最小数据吗? 问题答案: 按所有分支中的最后提交日期进行比较。 可以更改为仅比较远程分支。或者… 可以省略流利的setter 以便从本地存储库读取。
问题内容: 我正在使用JGit访问远程Git存储库,并且需要使用SSH。JGit使用JSch提供安全访问。但是,我不确定如何为JGit设置密钥文件和已知主机文件。我尝试过如下。 通过子类化JSchConfigSessionFactory创建了SshSessionFactory的自定义配置: 在我访问远程Git存储库的课程中,执行了以下操作: 我不知道如何将此JSch对象与JGit关联,以便它可以成
主要内容:创建一个远程存储库在本章中,我们将看到如何创建一个远程Git仓库; 我们需要一个远程Git仓库来执行团队协作。这一篇文章很重要,直接影响到后面的章节的学习。所以,希望大家可先耐心地看完本章内容,并按本章一步步的操作。 创建一个远程存储库 我们将演示在 http://git.oschina.net/ 软件项目的托管平台上创建和初始化一个新的存储库。 注:你也可以使用 GitHub (http://github.com