`git commit -v` по умолчанию
Как я могу настроить git commit
как git commit -v
(показывая полный разграничитель) по умолчанию?
Использование псевдонима не совсем удовлетворительно, так как оно не влияет на редактирование сообщений фиксации во время операций, которые могут косвенно совершать, например git rebase
.
Ответы
Ответ 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
}