使用JGIT

时间:2017-08-17 09:36:01

标签: android linux git jgit

我正在使用git在android项目中工作。在Linux中,命令init项目是:

repo init -u $URL -b $BRANCH -m $MANIFEST_FILE

然后我可以在./.repo文件夹中获取MANIFEST_FILE(它包含构建android项目的源路径)。

我在使用JGIT的Java应用程序中的代码片段是:

    try {
            Git repo = Git.cloneRepository()
                    .setURI(REMOTE_URL_SSH)
                    .setDirectory(localRepo)
                    .setBranchesToClone(Arrays.asList("refs/remotes/origin/build"))
                  //.setNoCheckout(true)
                    .call();
        } catch (GitAPIException ex) {
            System.out.println("clone fail: " + ex);
        }

它将下载分支中的所有清单文件" refs / remotes / origin / build"到我的本地仓库(事实上,这个分支有超过100个xml文件。它耗尽了我的内存空间,~2GB)。我想在上面的linux中只使用我想要的xml文件。怎么可能在java应用程序中?

提前感谢

1 个答案:

答案 0 :(得分:0)

正如您期望从命令行拉取所需文件,您可以按照这些命令

克隆回购:

repo init -u $URL -b $BRANCH -m $MANIFEST_FILE

仅更新所需文件:

git fetch
git checkout origin/$BRANCH -- path/to/file