Adicionando o nome do branch em todos os commits do git
*obs: testei isso rodando no Ubuntu 12.4, não tenho certeza se funciona no Mac e no WindowsCom este hook o nome do branch será colocado no começo de todos os commits do git
Por exemplo se fizer isso no branch [historia_1]
git commit -am "lala popo"
A mensagem gravada será "[historia_1] lala popo"
Segue o passo a passo de como configurar o git para isso:
- Se estiver usando o git acima da versão 1.7.1, é possível deixar o hook global deste jeito
git config --global init.templatedir '~/.git_template'
- Depois disso, criar o arquivo abaixo
~/.git_template/hooks/prepare-commit-msg
- Colocar o conteudo abaixo:
#!/bin/bash
FILE=$1
if [[ "$git_status" =~ On\ branch\ ([^[:space:]]+) ]]; then
BRANCH_NAME=${BASH_REMATCH[1]}
test "$branch" != master || branch=' '
else
# Detached HEAD. (branch=HEAD is a faster alternative.)
BRANCH_NAME="`git describe --all --contains --abbrev=4 HEAD 2> /dev/null ||
echo HEAD`"
fi
echo $1
if [ -n "$BRANCH_NAME" ] && [ "$BRANCH_NAME" != "master" ]; then
sed -i.bak -e "1s/^/[$BRANCH_NAME] /" $FILE
fi
- Salvar o arquivo e colocar permissão chmod 755
A partir desse ponto, todos os repositórios clonados e inicializados terão este hook, para os já existentes, precisa rodar o comando git init que carregará o hook global.
Posso eu colocar isso para um repositório específico salvando isso em $GIT_DIR/hooks não?
ResponderExcluirsim pode!
ExcluirEste comentário foi removido pelo autor.
ResponderExcluir