Как я могу сделать эквивалент git rebase -i HEAD ~ 2 в eGit? - PullRequest
14 голосов
/ 26 августа 2011

Я знаю, как перебазировать на определенную ветку или тег с помощью eGit в Eclipse, но я не нашел способа перебазировать на определенный sha1 с помощью eGit. Я хотел бы сделать это для того, чтобы раздавить коммиты перед тем, как перейти в восходящий поток (т. Е. Сделать git rebase -i HEAD~n, где n - это некоторое количество коммитов назад, где я хочу сделать ребаз). Это возможно с eGit? Если нет, есть ли другой плагин Eclipse, который я должен использовать, который бы обеспечивал эту функциональность?

Ответы [ 5 ]

8 голосов
/ 14 декабря 2012

Я успешно сдавил коммиты, используя шаги из этого поста (вырезано и вставлено здесь):

Если я хочу раздавить последние m коммитов на текущей ветке, тогда я

  • выбрать в истории первый коммит, который я не хочу раздавить
  • щелкните правой кнопкой мыши и скажите «Team-> Reset-> Soft»
  • Щелкните правой кнопкой мыши и произнесите «Подтвердить». Этот коммит будет содержать все изменения последних m коммитов вместе
8 голосов
/ 07 сентября 2011

EGit имеет перебазирование, но у него еще нет интерактивной перебазировки, о которой вы просили.

1 голос
/ 17 июля 2018

В настоящее время доступно в Eclipse Oxygen, для него есть собственный мастер.

  1. Получите нужную ветку в представлении History
  2. Щелкните правой кнопкой мыши фиксацию перед той, которую хотите изменить
  3. Найдите Rebase interactive и щелкните по нему
  4. Мастер Rebase появится с коммитами, доступными для работы на

Работает так же, как консольная версия, но в графическом интерфейсе. Даже если возникнут конфликты, это поможет вам.

0 голосов
/ 26 августа 2011

Вы также можете выполнить ребазинг в представлении Eclipse History.

  • Выберите хранилище в представлении Git Repositories
  • Щелкните правой кнопкой мыши и выберите Показать в истории
  • Выберите коммит, который вы хотите перебазировать текущую извлеченную ветку поверх
  • Щелкните правой кнопкой мыши и выберите Rebase поверх item
  • Примечание. Может потребоваться сначала выбрать Показать все ветви и теги на панели инструментов представления истории, чтобы отобразить коммит, который вы ищете в таблице.
0 голосов
/ 26 августа 2011

В представлении истории выберите коммит, в который вы хотите перебазировать, и создайте ветку с именем rebase-point или что-то еще. Вуаля, теперь вы можете перейти на эту ветку и удалить ее позже, если хотите. Обычно я предпочитаю использовать именованную ветку для подобных вещей, потому что это минимизирует вероятность ошибок с моей стороны. С другой стороны, учтите, что origin/master часто является правильной точкой перебазирования, если вы нажимаете коммиты для толчка.

...