JGit Зафиксировать файл в удаленном репозитории без клонирования

Я новичок в 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? Извините за мой плохой английский, спасибо!

Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Как включить TLS в gRPC-клиенте и сервере : 2
Как включить TLS в gRPC-клиенте и сервере : 2
Здравствуйте! 🙏🏻 Надеюсь, у вас все хорошо и добро пожаловать в мой блог.
Сортировка hashmap по значениям
Сортировка hashmap по значениям
На Leetcode я решал задачу с хэшмапой и подумал, что мне нужно отсортировать хэшмапу по значениям.
Принципы SOLID - лучшие практики
Принципы SOLID - лучшие практики
SOLID - это аббревиатура, обозначающая пять ключевых принципов проектирования: принцип единой ответственности, принцип "открыто-закрыто", принцип...
gRPC на Android с использованием TLS
gRPC на Android с использованием TLS
gRPC - это относительно новая концепция взаимодействия между клиентом и сервером, но не более.
0
0
50
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Ваш код работает с удаленным репозиторием. Вам нужно клонировать его, если вы хотите внести изменения.

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()'

Не забудьте зафиксировать изменения и нажать на пульт.

Другие вопросы по теме