2015-03-19 8 views
1

Мне нужна специальная помощь JGit.Использование JGit: как нажать конкретную фиксацию на удаленное репо

Я ищу эквивалент следующего использования библиотеки JGit:

git push [remotename] [commit SHA]:[remotebranchname] 

Других слова: от конкретного репо, я хотел бы, чтобы подтолкнуть все ДО конкретных совершить другой удаленный репозиторий.

Возможно, org.eclipse.jgit.api.PushCommand позволяет указать только удаленное имя, но не идентификатор фиксации или имя удаленной ветви.

Не могли бы вы указать, что мне не хватает?

+0

Обновление: Я попытался добавить RefSpec в PushCommand с исходным кодом = [commit id] и destination = [refs/remotes/__ my__remote__name __/master], но это также не помогло. – Roshan

ответ

0

Это решено!

Отлаживал внутри классов транспорта/связей JGit, в посмотрел на рекламируемых рефах отдаленного репо и обнаружил, что, когда я толкал свои коммиты, реф refs/remotes/__my_remote__repo__/master двигался, но арбитр :refs/heads/master всегда оставался неизменным. Именно по этой причине я не видел, чтобы мои изменения доходили до GitHub.

Я затем переключился с более раннего: commitId + ":refs/remotes/__my_remote__repo__/master" ref-spec на commitId + ":refs/heads/master", и все работает отлично!

Содержимое сейчас отображается верно на https://github.com/my_remote__repo/commits/master.

Yay! Спасибо за вашу помощь.