使用JGit从Git存储库中检出特定修订版

十亿

我正在尝试使用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检出提交,可以这样调用checkout

git.checkout().setName("<id-to-commit>").call();

但是请注意,这将导致HEAD分离为了避免这种情况,您可以checkout先创建一个指向提交的新分支,然后再签出该分支。

git.checkout().setCreateBranch(true).setName("new-branch").setStartPoint("<id-to-commit>").call();

该API并不是很直观,但是可以做到。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用JGit根据提交日期签出特定修订版

来自分类Dev

使用JGit获取修订版中的文件列表

来自分类Dev

如何获取git存储库中各修订版之间已更改文件的列表?

来自分类Dev

如何获取git存储库中各修订版之间已更改文件的列表?

来自分类Dev

我如何使用 SharpSvn 在 c# 中列出 SVN 存储库的所有现有修订版

来自分类Dev

git:致命:带有所有新存储库的默认默认修订版“ HEAD”

来自分类Dev

如何更新到存储库中的最新公共修订版?

来自分类Dev

Git:从远程服务器获取特定的修订版

来自分类Dev

如何基于Eclipse中的修订版导入git项目

来自分类Dev

如何责备Vim逃犯中的特定修订版

来自分类Dev

我创建了新的本地git存储库,但显示了此消息。致命:错误的修订版“ HEAD”

来自分类Dev

Mercurial/hg:在特定修订版中搜索文件(按文件名)(不更新到该修订版)

来自分类Dev

检出Git存储库中的特定文件夹

来自分类Dev

是否可以使用JGit的内存中存储库将一个小文件添加到大的Git存储库而无需在本地检出它?

来自分类Dev

我可以使用修订号转到git中分支的旧修订版吗?

来自分类Dev

如何从SVN(Subversion)存储库目录和文件中提取当前修订版

来自分类Dev

当使用svn repo的git mirror时,如何找到svn修订版的git hash?

来自分类Dev

当使用svn repo的git mirror时,如何找到svn修订版的git hash?

来自分类Dev

在混合修订版SVN工作副本中列出所有修订版

来自分类Dev

如何使用Capistrano 3部署特定修订版

来自分类Dev

创建新的 mercurial 存储库克隆 SINCE 修订版

来自分类Dev

是否可以使用CodeDeploy使用先前部署中的本地缓存修订版?

来自分类Dev

git blame-致命:错误的修订版'22'

来自分类Dev

git log仅显示文件的最新修订版

来自分类Dev

通过邮件发送文件的 git 修订版

来自分类Dev

如何查看特定修订版签出的文件?

来自分类Dev

如何找出特定的Subversion修订版属于哪个分支?

来自分类Dev

如何查看特定修订版签出的文件?

来自分类Dev

获取特定修订版/分支之间的文件差异

Related 相关文章

  1. 1

    使用JGit根据提交日期签出特定修订版

  2. 2

    使用JGit获取修订版中的文件列表

  3. 3

    如何获取git存储库中各修订版之间已更改文件的列表?

  4. 4

    如何获取git存储库中各修订版之间已更改文件的列表?

  5. 5

    我如何使用 SharpSvn 在 c# 中列出 SVN 存储库的所有现有修订版

  6. 6

    git:致命:带有所有新存储库的默认默认修订版“ HEAD”

  7. 7

    如何更新到存储库中的最新公共修订版?

  8. 8

    Git:从远程服务器获取特定的修订版

  9. 9

    如何基于Eclipse中的修订版导入git项目

  10. 10

    如何责备Vim逃犯中的特定修订版

  11. 11

    我创建了新的本地git存储库,但显示了此消息。致命:错误的修订版“ HEAD”

  12. 12

    Mercurial/hg:在特定修订版中搜索文件(按文件名)(不更新到该修订版)

  13. 13

    检出Git存储库中的特定文件夹

  14. 14

    是否可以使用JGit的内存中存储库将一个小文件添加到大的Git存储库而无需在本地检出它?

  15. 15

    我可以使用修订号转到git中分支的旧修订版吗?

  16. 16

    如何从SVN(Subversion)存储库目录和文件中提取当前修订版

  17. 17

    当使用svn repo的git mirror时,如何找到svn修订版的git hash?

  18. 18

    当使用svn repo的git mirror时,如何找到svn修订版的git hash?

  19. 19

    在混合修订版SVN工作副本中列出所有修订版

  20. 20

    如何使用Capistrano 3部署特定修订版

  21. 21

    创建新的 mercurial 存储库克隆 SINCE 修订版

  22. 22

    是否可以使用CodeDeploy使用先前部署中的本地缓存修订版?

  23. 23

    git blame-致命:错误的修订版'22'

  24. 24

    git log仅显示文件的最新修订版

  25. 25

    通过邮件发送文件的 git 修订版

  26. 26

    如何查看特定修订版签出的文件?

  27. 27

    如何找出特定的Subversion修订版属于哪个分支?

  28. 28

    如何查看特定修订版签出的文件?

  29. 29

    获取特定修订版/分支之间的文件差异

热门标签

归档