Я знаю, как выполнить перебазирование на определенную ветку или тег с помощью eGit в Eclipse, но я не нашел способа выполнить перебазирование на определенный sha1 с помощью eGit. Я хотел бы сделать это, чтобы раздавить коммиты перед отправкой в восходящий поток (т. Е. Выполнение git rebase -i HEAD~n
, где n - это некоторое количество коммитов назад, когда я хочу перебазировать). Возможно ли это с eGit? Если нет, есть ли другой плагин Eclipse, который я должен использовать, который обеспечит эту функциональность?
Как я могу сделать эквивалент git rebase -i HEAD~2 в eGit?
Ответы (5)
В настоящее время он доступен в Eclipse Oxygen
, для него есть собственный мастер.
- Получите нужную ветку в представлении
History
- Щелкните правой кнопкой мыши фиксацию перед той, которую вы хотите изменить.
- Найдите
Rebase interactive
и нажмите на него - Появится мастер Rebase с коммитами, доступными для работы.
Он работает так же, как консольная версия, но с графическим интерфейсом. Даже если возникнут конфликты, он поможет вам пройти.
EGit имеет rebase, но еще не имеет интерактивной rebase, о которой вы просите.
Oxygen
.
- person cbaldan; 17.07.2018
Мне удалось раздавить коммиты, используя шаги из этого поста. (вырезать и вставить сюда):
Если я хочу раздавить последние m коммитов в текущей ветке, я
- выберите в истории первый коммит, который я не хочу раздавливать
- щелкните правой кнопкой мыши и скажите «Команда-> Сброс-> Программное обеспечение»
- щелкните правой кнопкой мыши и скажите «Зафиксировать». Этот коммит будет содержать все изменения последних m коммитов вместе.
В представлении истории выберите фиксацию, на которую вы хотите перебазироваться, и создайте ветку с именем rebase-point
или как-то так. Вуаля, теперь вы можете перебазироваться в эту ветку и удалить ее позже, если хотите. В любом случае я предпочитаю использовать именованную ветку для подобных вещей, потому что это сводит к минимуму вероятность ошибок с моей стороны. В качестве альтернативы, учтите, что origin/master
часто является правильной точкой перебазирования, если вы сжимаете коммиты для отправки.
master
, потому что eclipse слишком сильно вам помогает.
- person Karl Bielefeldt; 29.08.2011
Вы также можете изменить базу из представления Eclipse History.
- Выберите репозиторий в представлении Git Repositories.
- Щелкните правой кнопкой мыши и выберите Показать в истории.
- Выберите фиксацию, которую вы хотите переустановить в текущей проверенной ветке поверх
- Щелкните правой кнопкой мыши и выберите элемент Перебазировать поверх.
- Примечание. Возможно, вам придется сначала выбрать Показать все ветки и теги на панели инструментов просмотра истории, чтобы отобразить искомую фиксацию в таблице.