Я новичок в JGit, и я пытаюсь проверить удаленную ветку и зафиксировать в ней файл. Но я застрял здесь и не знаю, что делать дальше:
Collection<Ref> branchs = Git.lsRemoteRepository()
.setHeads(true)
.setTags(true)
.setRemote(REMOTE_URL)
.setCredentialsProvider(new UsernamePasswordCredentialsProvider(username,password))
.call();
Optional<Ref> branch = branchs.stream().filter(r -> r.getName().equals("refs/heads/"+branchName)).findFirst();
Как я могу превратить ссылку в репозиторий или что-то еще, чтобы использовать GitCommand? Извините за мой плохой английский, спасибо!
Ваш код работает с удаленным репозиторием. Вам нужно клонировать его, если вы хотите внести изменения.
Git myGit = Git.cloneRepository()
.setURI(REMOTE_URL)
.setDirectory(destination)
.setCredentialsProvider(new UsernamePasswordCredentialsProvider(username,password))
.call();
После того, как у вас есть локальная копия, вы можете добавлять в нее файлы.
myGit.add().addFilepattern(FILE_PATTERN).call();
Изменение ветвей может быть выполнено с помощью:
myGit.checkout().setName(branch).call()'
Не забудьте зафиксировать изменения и нажать на пульт.