我正在使用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应用程序中?
提前感谢
答案 0 :(得分:0)
正如您期望从命令行拉取所需文件,您可以按照这些命令
克隆回购:
repo init -u $URL -b $BRANCH -m $MANIFEST_FILE
仅更新所需文件:
git fetch
git checkout origin/$BRANCH -- path/to/file