Я знаю, как сделать git rebase из командной строки, но как это сделать с помощью официального git-gui?
Как сделать ребаз с git gui?
Ответы (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
In git-gui
:
- Перейдите к
Tools -> Add
, а затем введите пользовательскую команду, напримерgit rebase master
. - Выберите Добавить глобально, чтобы этот параметр отображался для всех репозиториев. (Он запишет конфигурацию в ваш
~/.gitconfig
для вас, как упоминал @Ted-Percival в своем ответе).
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) и т. д.
git gui
можно использовать для добавления файлов в индекс при выполнении rebase --interactive
(как указано в git rebase
справочной странице< /a>, справочная страница GitHub rebase или в этой интерактивный совет по git rebase), но не для выполнения самого rebase
.
(если только , как вы видели, вы сами определяете команду в разделе Tools)