Repository jgit-克隆回购的分支而不进行签出

Repository jgit-克隆回购的分支而不进行签出,repository,branch,clone,jgit,Repository,Branch,Clone,Jgit,如果不进行签出,CloneRepository命令似乎会忽略setBranch参数。有没有办法指定分支(而不是主分支)?我不想签出整个分支,但我想向该分支添加一个文件(添加、提交和推送)当我使用来自,并且只在第33行添加以下内容时,这对我有效: .setBranch("email") 执行代码段后,临时目录中的本地克隆已签出给定的分支 另一种选择可能是使用org.eclipse.jgit.storage.dfs.InMemoryRepository在内存中克隆一个Git

如果不进行签出,CloneRepository命令似乎会忽略setBranch参数。有没有办法指定分支(而不是主分支)?我不想签出整个分支,但我想向该分支添加一个文件(添加、提交和推送)

当我使用来自,并且只在第33行添加以下内容时,这对我有效:

            .setBranch("email")
执行代码段后,临时目录中的本地克隆已签出给定的分支


另一种选择可能是使用
org.eclipse.jgit.storage.dfs.InMemoryRepository
在内存中克隆一个Git repo并从那里开始工作。

是否有.setNoCheckout(true)?当设置为false时,您是正确的。但是当设置为true时,本地目录不会跟踪到指定的分支,而是跟踪到主目录。git状态确认了当前的跟踪。嗯,我不确定这是否可行,只要你想在分支中添加一些内容,就我所知,你需要进行结帐。或者你能用命令行git做这个吗?我正在看测试。它使用RefUpdate对象“愚弄”git,使其认为提交已签出。我不清楚这个测试是如何工作的,但我希望这是让git认为工作库处于特定状态的关键。我一直无法让命令行执行我想要的操作-我总是要执行CO。我一直在寻找克隆除master之外的特定分支。帮助。谢谢