`git commit -v` по умолчанию

Как я могу настроить git commit как git commit -v (показывая полный разграничитель) по умолчанию?

Использование псевдонима не совсем удовлетворительно, так как оно не влияет на редактирование сообщений фиксации во время операций, которые могут косвенно совершать, например git rebase.

4b9b3361

Если вы используете git 2.9, это можно сделать с помощью config.

git config --global commit.verbose true

Git 2.9.0 Примечания к выпуску: https://github.com/git/git/blob/v2.9.0/Documentation/RelNotes/2.9.0.txt

"git commit" научился обращать внимание на "commit.verbose"    переменной конфигурации и действовать так, как если бы опция "--verbose"    был указан из командной строки.

30
ответ дан 16 июня '16 в 5:26
источник

Насколько я могу судить, вы не можете переопределить уже существующую команду git с псевдонимом (в противном случае не было бы способа сделать оригинальную команду, и куча вещей сломалась).

Поэтому я рекомендую вам сделать что-то вроде git config --global "alias.ci" "commit -v". Это добавит строку в ваш файл ~/.gitconfig и сделает так, чтобы git ci выполнял git commit -v. Затем вам нужно просто ввести git ci вместо git commit (если вы не решите, что не хотите -v).

30
ответ дан 26 июня '11 в 9:26
источник

Ну, я использую псевдонимы:

alias gc='git commit -v'

Есть куча приятных псевдонимов вроде этого, которые, как я полагаю, сошел со скринкастов PeepCode git.

8
ответ дан 03 мая '11 в 23:32
источник

Я знаю, что это старый вопрос, но мне довелось встретить его и ответить. Я поместил следующую функцию в .bash_profile:

#!/bin/bash                                                                            

git()                                                                                  
{                                                                                      
    case "$1" in                                                                       
        ci|commit)
        gitargs=""
        for i in $@; do
            if [ "$1" != "$i" ]; then                                                  
                gitargs="$gitargs $i"
            fi  
        done
        command git commit -v $gitargs
        ;;  
    *)  
        command git "$@"
        ;;                                                                             
    esac                                                                               
}

Это превращает git в функцию bash, которая преобразует git commit в git commit -v и оставляет остальные аргументы в основном в одиночку. Однако он разбивает аргументы git commit, которые имеют пробелы, и он не позволит вам зафиксировать файл с именем ci или commit.

6
ответ дан 10 апр. '12 в 23:33
источник

Я только что отправил электронное письмо на адрес git@vger.kernel.org и получил следующий ответ:

05.04.2016 16:47, Пранит Баува: В Вторник, 5 апреля 2016 года в 8:08 вечера, Яцек Wielemborek писал:

Здравствуйте,

     

Я прошу об этом, потому что довольно большой интерес   (включая меня) в этой функции, и нет удобной прогулки:

     

` git commit -v` по умолчанию

     

Cheers,   d33tah

В настоящее время это происходит. Я тот, кто работает над этим. Один из патчей находится в настоящее время на ветке pu. Я все еще полирую это включить еще несколько вещей. Вы можете отслеживать его статус, читая git.git сообщений git. Последняя редакция patch находится в http://thread.gmane.org/gmane.comp.version-control.git/288820

Спасибо, Пранит Баува

4
ответ дан 05 апр. '16 в 17:55
источник

Кажется, что следующее задание .bashrc/.profile выполняет следующее задание:

git() {
    if [[ "$1" = "commit" ]]; then
        shift
        command git commit -v "$@"
    else
        command git "$@"
    fi
}
0
ответ дан 29 янв. '15 в 15:39
источник