Нужна посказка. Алиас срабатывает только в рутовой дире репо.

 , ,


vv@vv-Latitude-E5520 ~/work/own/ruby/uaccd/db/migrate $ gt st .
# On branch v1_dev
# Your branch is up-to-date with 'origin/v1_dev'.
# Changes not staged for commit:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#	modified:   20131125090536_create_customers.rb
#	modified:   20131125092025_create_talks.rb
#	modified:   20140117144807_create_cars.rb
no changes added to commit (use "git add" and/or "git commit -a")
vv@vv-Latitude-E5520 ~/work/own/ruby/uaccd/db/migrate $ gt cq 20131125090536_create_customers.rb
error: pathspec './20131125090536_create_customers.rb' did not match any file(s) known to git.
vv@vv-Latitude-E5520 ~/work/own/ruby/uaccd/db/migrate $ gt la | grep cq
alias.cq !f() { git ci $1 -m '$1'; }; f
vv@vv-Latitude-E5520 ~/work/own/ruby/uaccd/db/migrate $ 

так вот. где-то здесь у меня косяк

alias.cq !f() { git ci $1 -m '$1'; }; f
Из того что я понял гит делает какую-то магию с cwd. Кто-то знает в чем хитрость?


Из git help config (секция alias.*):

Note that shell commands will be executed from the top-level directory of a repository, which may not necessarily be the current directory.  GIT_PREFIX is set as returned by running git rev-parse --show-prefix from the original current directory. See git-rev-parse(1).

Так что надо как-то так (не проверял):

alias.cq !f() { git ci $1 -m '$GIT_PREFIX$1'; }; f

xaizek ★★★★★
Ответ на: комментарий от xaizek

спасибо. так работает

cq = "!f() { git commit ./$GIT_PREFIX/$1 -m $1; }; f"
ZuBB ★★★★★
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.