`git commit -v` по умолчанию - программирование

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

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

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

4b9b3361

Ответ 1

Если вы используете 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"    был указан из командной строки.

Ответ 2

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

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

Ответ 3

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

alias gc='git commit -v'

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

Ответ 4

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

#!/bin/bash                                                                            

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

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

Ответ 5

Я только что отправил электронное письмо на адрес [email protected] и получил следующий ответ:

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

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

Ответ 6

Глубокое обходное решение: :!git log -1 -u

Ответ 7

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

git() {
    if [[ "$1" = "commit" ]]; then
        shift
        command git commit -v "[email protected]"
    else
        command git "[email protected]"
    fi
}