JGit FetchCommand

Entiendo el concepto de Git fetch. Me gustaría search objects a través de la class FetchCommand en la API de JGit.

Tengo un repository de Git. Por ejemplo C:\jGit\.git .

He clonado este repository. Por ejemplo: C:\jGitClone\jGit\.git .

He clonado este repository de nuevo. Por ejemplo C:\Users\user\Desktop\jGitClone\.git .

Usando la API de JGit tengo una class de Git:

 Git git = new Git(repository); // this is the cloned repository. C:\jGitClone\jGit\.git 

¿Cómo establecería el repository clonado que está en el escritorio para que cuando se llame a la recuperación sepa que busque en este repository?

He buscado en algunos sitios web, incluido el 1 a continuación, pero todavía está atascado.

Git fetch falla al usar jgit: Remote no tiene <branchname> disponible para search

Creo que te perdiste algo. en Git / jGit, una copy local está determinada por una path (como en un sistema de files) y un remote , que es un repository distante.

En su caso, desea que su repository clonado de escritorio tenga un enlace a su jGitClone/jGit . Entonces, primero, si la clonación ya está hecha, entonces el repository de escritorio sabe acerca de su repository remoto. Entonces, en su código, solo necesita indicar dónde está su repository de escritorio:

 Builder builder = new FileRepositoryBuilder() Git repo = builder.setGitDir(new File("C:\Users\user\Desktop\jGitClone.git")) .readEnvironment() .build() 

Es posible que el código no funcione directamente (no lo probé, las dudas que tengo están en el path a dar, y los objects a usar: Builder , Git ), pero está basado en esta respuesta que creo que te ayudará: JGit y encontrar la cabeza

Por cierto, su pregunta no es clara: ¿ya clonó todo o es lo que quiere hacer? en su código menciona un repository : ¿lo obtuvo usando un código similar al que sugerí? Los nombres que eliges tampoco son muy claros: llamar a un repo jGit, a less que contenga el código fuente jGit, suena un poco torpe. Además, dé nombres a sus repositorys diferentes (A, B, C) para tener una comprensión más clara.