JGit - переупорядочить / удалить коммиты в ветке Master перед переходом в Upstream - PullRequest
0 голосов
/ 07 января 2019

В настоящее время я разрабатываю приложение, в котором репозиторий GIT используется в качестве единицы сохраняемости для набора файлов свойств, приложение обрабатывает сохранение файлов свойств в тестовом репо перед публикацией (отправкой) изменений в производственное репо. .

Приложение использует JGit для интеграции с репозиторием Git.

Сложность заключается в том, что пользователи должны иметь возможность добавлять и удалять коммиты из тестового репозитория, прежде чем отправлять release в производство, каждый коммит сопоставляется с изменениями в отдельном файле свойств. Все коммиты, которые не отправляются в удаленный рабочий репозиторий, должны оставаться un-pushed.

Итак, представьте следующую ситуацию: Тестовое репо имеет 4 коммитов c1-c2-c3-c4

Но пользователь предпочитает нажимать только коммиты c1 и c4.

Ожидаемый производственный коммит после пуша должен быть c1-c4, но коммиты, которые не были переданы в производственное репо, должны оставаться в тестовом репо.

Я рассмотрел несколько различных собственных GIT-решений, но не могу реально добиться желаемого результата с помощью JGIT, вот несколько решений, на которые я смотрел:

  • JGit Rebase: JGIT не поддерживает DROP действия с коммитами, EDIT тоже не работает
  • JGit Cherry Pick: создайте отдельную ветвь для тестовых значений, затем cherrypick значений, которые хотите опубликовать для производства, на master. Но как бороться с коммитами, оставленными в отдельной ветке?
  • Также пытались сбросить JGit, вернуть JGit и т. Д., Но ни одна из собственных операций git не соответствовала всем требованиям проекта.

Наверное, мой вопрос: кто-нибудь знает о нативной операции git, которую поддерживает JGit, которая обеспечит ожидаемую функциональность?

Я пришел к выводу, что документации по JGit практически нет или нет, лучшее место для проверки API JGit - посмотреть эти примеры . Если есть еще документы, которые я не нашел, я также был бы признателен за ссылку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...