簡體   English   中英

如何列出Git存儲庫的所有文件夾(項目)

[英]How to List all folders (projects) of a Git Repository

通過使用食譜示例,我可以在離線Git存儲庫中的HEAD下獲取所有文件夾(項目)

String url = "C:/Users/kishore/git/JavaRepos/.git";

File gitDir = new File(url);
Repository repository = new FileRepository(gitDir);

Ref head = repository.getRef("HEAD");

RevWalk walk = new RevWalk(repository);

RevCommit commit = walk.parseCommit(head.getObjectId());
RevTree tree = commit.getTree();
System.out.println("Having tree: " + tree);

TreeWalk treeWalk = new TreeWalk(repository);
treeWalk.addTree(tree);
treeWalk.setRecursive(false);
while(treeWalk.next()) {
    System.out.println("Folder Path: " + treeWalk.getPathString());
    System.out.println("Folder Name: " + treeWalk.getNameString());
    System.out.println("Folder depth: " + treeWalk.getDepth());
    System.out.println("Folder Tree Count: " + treeWalk.getTreeCount());
}

這段代碼列出了位於我的機器上的給定Git存儲庫URL的所有文件夾,但是

Ref head = repository.getRef("HEAD");

對於任何在線Git存儲庫URL返回null的行,例如https://github.com/github/testrepo.git

在第二種情況下我所缺少的。

提前致謝!!!

我認為認證是造成這種情況的原因。 您的代碼無處提及用戶名和密碼,在訪問遠程git分支時,您需要提供憑據。 檢查可用資源是否提供任何身份驗證方式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM