#bash #git #terminal
#bash #git #терминал
Вопрос:
Когда я использую git через терминал, я открываю вкладку, посвященную только команде git, тогда я не хочу каждый раз вводить «git». Есть ли какой-нибудь способ автоматически вводить текст в каждой строке?
Комментарии:
1. В
~/.bashrc
:alias g=git
2. Вы действительно слишком заняты, чтобы ввести три символа?
Ответ №1:
Вы можете определить каждую команду git как псевдоним, чтобы, например, при вводе diff mybranch
вызывался git diff mybranch
. Чтобы вызвать обычную команду командной строки, введите перед ней обратную косую черту, например, diff file ../elsewhere/file
вызывает /usr/bin/diff
, а не git diff
.
Поместите следующий код в файл ~/.git.bashrc
. Настройте свой git-терминал на запуск bash --rcfile ~/.git.bashrc
вместо простого запуска bash
.
. ~/.bashrc
for c in $(COLUMNS=4 git help -a | sed -n 's/^ ([a-z])/1/p';
git config --get-regexp '^alias.' | sed 's/alias.//; s/ .*//')
do
alias "$c=git $c"
complete -F _complete_alias foo
done
Для complete
строки требуется _complete_alias
функция.
Ответ №2:
Я создал эту функцию .bashrc, которая отправляет код и помечает его тегами. Все, что вам нужно, это комментарий, который вы хотите для отправки.
Псевдоним функции «gp» (что расшифровывается как git push).
Итак, если вы хотите нажать и пометить какой-либо код, все, что вам нужно после добавления этого кода в свой .bashrc, это:
$ gp «протестируйте мою новую функцию git push»
gpfunction() {
git status
echo [Enter to continue...]
read a
git pull
git commit -am"$1"
git push
tag_major_min=$(git tag |sort -V|tail -1|awk -F. '{print $1 "." $2 "."}')
echo Tag major min $tag_major_min
latest_tag_number=$(git tag |sort -V|tail -1|awk -F. '{print $3}')
echo Latest tag number $latest_tag_number
next=$(echo $latest_tag_number 1 | bc)
echo Next $next
new_tag=$(echo $tag_major_min $next | sed 's/ //g')
echo New tag $new_tag
git tag $new_tag
git push origin $new_tag
}
alias gp=gpfunction
Этот скрипт использует стандартную версию major.minor.patch и увеличивает версию исправления.
Вы можете настроить его по своему усмотрению.