В gitk --all
:
- щелкните правой кнопкой мыши на коммите вы хотите
- -> создать новую ветку
- введите название существующей ветви
- нажмите return в диалоговом окне, которое подтверждает замену старой ветви с таким именем .
Помните, что пересоздание вместо изменения существующей ветви приведет к потере информации о ветви отслеживания . (Как правило, это не проблема для простых случаев использования, когда есть только один удаленный узел, а ваша локальная ветвь имеет то же имя, что и соответствующая ветвь на удаленном устройстве. Дополнительные сведения см. В комментариях, спасибо @mbdevpl за указание на этот недостаток.)
Было бы здорово, если бы gitk
имел функцию, где диалоговое окно имеет 3 варианта: перезаписать, изменить существующий или отменить.
Даже если вы обычно такой же любитель командной строки, как и я, git gui
и gitk
довольно хорошо разработаны для подмножества использования git, которое они позволяют. Я настоятельно рекомендую использовать их для того, что у них хорошо получается (например, выборочное размещение фрагментов в / из индекса в git gui, а также просто фиксация. (Ctrl-s для добавления подписи: line, ctrl-enter для фиксации .)
gitk
отлично подходит для отслеживания нескольких веток, когда вы сортируете свои изменения в симпатичную серию патчей для отправки в апстрим или что-то еще, где вам нужно отслеживать то, что вы находитесь в середине с несколькими ветками.
У меня даже нет графического браузера файлов, но я люблю gitk / git gui.
git branch <branch-name> <SHA-1-of-the-commit>
и сбросить старую ветку?