Как сделать ребаз с git gui?

Я знаю, как сделать git rebase из командной строки, но как это сделать с помощью официального git-gui?


person Leif Gruenwoldt    schedule 28.01.2011    source источник


Ответы (4)


Добавьте это в файл .gitconfig в вашем домашнем каталоге, чтобы добавить команды перебазирования в меню «Инструменты»:

[guitool "Rebase onto..."]
    cmd = git rebase $REVISION
    revprompt = yes
[guitool "Rebase/Continue"]
    cmd = git rebase --continue
[guitool "Rebase/Skip"]
    cmd = git rebase --skip
[guitool "Rebase/Abort"]
    cmd = git rebase --abort
[guitool "Pull with Rebase"]
    cmd = git pull --rebase
person Ted Percival    schedule 08.02.2012
comment
В строку cmd (2-я строка) нужно добавить $REVISION, т.е. cmd = git rebase $REVISION. В противном случае, спасибо! Я понятия не имел, что такая возможность существует. - person Jim Raden; 18.02.2014
comment
Интерактивная переустановка также возможна, вам просто нужно установить env-var EDITOR на редактор графического интерфейса. Я посчитал это слишком большим изменением, чтобы добавить его к вашему ответу, поэтому я создал свой собственный - не стесняйтесь добавлять свой ответ к вашему. - person Irfy; 03.03.2014
comment
Появляется какое-то окно, но что вводить в эти поля? - person Paul; 30.05.2014
comment
Я нашел комментарий Джима Радена правильным, вместо $VERSION требуется $REVISION. Возможно, Тед Персиваль мог бы отредактировать свой ответ? Я бы сделал это, но я не уверен, что $REVISION является универсально правильным, зависит от платформы или что-то в этом роде. - person Tony Park; 15.07.2014

In git-gui:

  1. Перейдите к Tools -> Add, а затем введите пользовательскую команду, например git rebase master.
  2. Выберите Добавить глобально, чтобы этот параметр отображался для всех репозиториев. (Он запишет конфигурацию в ваш ~/.gitconfig для вас, как упоминал @Ted-Percival в своем ответе).
person Leif Gruenwoldt    schedule 28.01.2011
comment
Стоит отметить, что ваша локальная база данных Git должна быть обновлена ​​с учетом изменений ветки, на которую вы хотите выполнить ребазинг. Если локальный master не обновлялся с тех пор, как вы разветвились, git rebase master ничего не делает! Чтобы решить эту проблему, сначала запустите git checkout master; git pull; git checkout MY_BRANCH из командной строки или измените команду git-gui на git rebase origin\master. - person AlainD; 01.07.2020

Вы можете выполнить полную интерактивную перебазировку с помощью git gui, включая выбор фиксации, переформулировку и разрешение конфликтов! В дополнение к ответу Теда Персиваля добавьте это в свой ~/.gitconfig:

[guitool "Rebase interactive"]
    cmd = EDITOR=gvim git rebase -i $REVISION
    revprompt = yes

Вы должны использовать графический редактор — старый добрый vim не будет работать, но gvim будет. Вы можете использовать любой графический редактор, например, я использую nedit. Отдельное окно этого редактора будет всплывать всякий раз, когда вам нужно что-то ввести: первоначальный выбор коммитов, переформулировка сообщений коммитов (будь то для коммитов reword или squash) и т. д.

person Irfy    schedule 02.03.2014

git gui можно использовать для добавления файлов в индекс при выполнении rebase --interactive (как указано в git rebase справочной странице< /a>, справочная страница GitHub rebase или в этой интерактивный совет по git rebase), но не для выполнения самого rebase.
(если только , как вы видели, вы сами определяете команду в разделе Tools)

person VonC    schedule 28.01.2011