atualizado
solução para alias git.home
, que opera com ~/.git.home
como repo.
parcialmente com base na esta resposta .
adicione a ~/.bashrc
:
alias git.home='git --git-dir=$HOME/.git.home/'
_completion_loader git
eval "$(complete -p git | sed -r 's/(\s)git$/git.home/')"
eval "$(type __gitdir |
sed '1d;1,/if/s|if|if [[ "$COMP_LINE" == "git.home "* ]]; then\necho "$HOME/.git.home"\nelif|')"
explicação do último eval
(para outras linhas, consulte answer ):
estamos corrigindo a função __gitdir()
, que retorna um caminho para o diretório do repositório do git. de:
$ type __gitdir | head -n 4
__gitdir is a function
__gitdir ()
{
if [ -z "${1-}" ]; then
para:
$ type __gitdir | head -n 7
__gitdir is a function
__gitdir ()
{
if [[ "$COMP_LINE" == "git.home "* ]]; then
echo "$HOME/.git.home";
else
if [ -z "${1-}" ]; then
, ou seja, se o comando começar com "git.home "
, a função retornará $HOME/.git.home
.