2015-12-14 5 views
2

Когда я работаю над большим проектом, я использую длинные имена ветвей, например. dev/username/PROJECT-JIRANUM_some_description. Было бы здорово, чтобы быть в состоянии сделать что-н, как это:Есть ли способ сократить имена ветвей в командах git?

git branch -D STH(xxxx) 

Где STH() является некоторым синтаксисом, который будет использовать некоторые Глоба подобные совпадения имен филиалов (так что хххй может быть несколько JIRA, содержащимися в название ветки). Если есть двусмысленность, git сообщит и прервет команду.

Это так, как это возможно на данный момент? Я не мог найти никакой информации об этом.

+3

Большинство дополнений вкладки поддержки оболочек для ветвей git, попробуйте нажать вкладку 2 раза наполовину название ветки – Ferrybig

+1

Вы можете просто переименовать ветвь, чтобы быть короче. – poke

+0

@ferrybig: Это не помогает в моем случае, так как у меня много филиалов внутри одного и того же проекта, даже номера JIRA дублируют. Поэтому мне пришлось бы несколько раз перебирать вкладку tab -> write sth -> tab и т. Д., Давая какую-то уникальную часть имени из * end * branchname, сделает трюк. – tkleczek

ответ

0

Советую переименовать ваши ветви в то, что коротко и легко запомнить для вас git branch -m <oldname> <newname>.

В противном случае вы должны включить git-completion, если этого еще не сделали. См. Git http://code-worrier.com/blog/autocomplete-git/. Таким образом, вы можете просто использовать вкладку, чтобы автоматически заполнить имена ваших филиалов.

+0

К сожалению, autocomplete-git работает как нормальное завершение, у него нет характеристик, которые я описал в своем вопросе. – tkleczek

2

Я бы рекомендовал использовать zsh с prezto, поскольку она дает ветви завершение имени следующим образом: («...» появляется каждый раз, когда я нажимаю вкладку для завершения имен филиала)

enter image description here

Если вы идти по этому пути, для справки здесь список prezto модулей Я включил (в ~/.zpreztorc):

# Set the Prezto modules to load (browse modules). 
# The order matters. 
zstyle ':prezto:load' pmodule \ 
    'environment' \ 
    'terminal' \ 
    'editor' \ 
    'history' \ 
    'archive' \ 
    'directory' \ 
    'spectrum' \ 
    'utility' \ 
    'completion' \ 
    'ssh' \ 
    'git' \ 
    'history-substring-search' \ 
    'prompt' 

Я считаю, что важные (для чего вам нужно) - полезность, завершение и git

+0

Это именно то, что я ищу. К сожалению, похоже, что нет эквивалента bash, но, возможно, это побудит меня переключать снаряды. Кроме того, я работаю над окнами, что делает вещи немного сложнее. – tkleczek

+0

О да, пожалуйста. Пожалуйста, потратьте пару дней на Zsh (+ Prezto), поверьте мне, вы не вернетесь! Для чего это стоит, я с радостью использовал zsh на Cygwin в Windows и почти не имел никаких проблем (только некоторые символы не отображались в подсказке при использовании конкретных тем PROMPT из prezto, а не проблема).Единственное, что побудило меня мотивировать, - это полная синхронизация истории на нескольких сеансах, которая выходит из коробки в zsh, но это взлом в лучшем случае для bash! + много uber-классных вещей, таких как https://github.com/zsh-users/zsh-history-substring-search !! –

0

Поскольку ветви git - это действительно подвижные ярлыки, локально вы можете называть их по своему усмотрению. Единственная актуальная необходимость - следовать вашим проектам, когда вы возвращаете свои изменения в центральное репо. Для вашего удобства вы можете указать configure параметры настройки на выбор и настройку филиала (проверьте эти настройки branch.<name>....), чтобы автоматически отображать свою ветку на fetch, merge и push.

+0

Кажется, неудобно делать такую ​​конфигурацию для каждой ветви. – tkleczek

+0

хорошо. если у вас есть определенное соглашение об именах, то, вероятно, у вас есть правило для упрощения, автоматически переписывайте имя филиала. Поэтому вы можете просто установить одно правило перезаписи для всех удаленных филиалов. – user3159253