Substituição de palavras durante o checkout e commit do GIT.
A idéia é usar como o Subversion, trocando palavras reservadas por informações obtidas no log do GIT:
TAG | Significado | Exemplo |
---|---|---|
Nome e endereço eletrônico de quem criou o arquivo e data de criação do arquivo. | $Criado por: Luciano Vieira Rodrigues ([email protected]), 2021-11-07 11:22:23 -0300$ | |
Nome de quem criou o arquivo. | ||
Endereço eletrônico de quem criou o arquivo. | $Criado por: [email protected]$ | |
Data de criação do arquivo. | ||
Nome e endereço eletrônico de quem alterou o arquivo e data da última alteração. | $Alterado por: Luciano Vieira Rodrigues ([email protected]), 2021-11-07 11:22:23 -0300$ | |
Nome de quem realizou a última alteração. | ||
Endereço eletrônico de quem realizou a última alteração. | $Alterado por: [email protected]$ | |
Data da última alteração. | ||
Ramificação de registro do arquivo. |
- bash
- git
- sed
Crie uma configuração para um projeto específico, utilizando as configurações locais:
mkdir <PROJECT>/.git-filters
cp git-keyword-smudge.sh <PROJECT>/.git-filters/.
cp git-keyword-clean.sh <PROJECT>/.git-filters/.
git config --local filter.keyword.smudge "<PROJECT>/.git-filters/git-keyword-smudge.sh %f"
git config --local filter.keyword.clean "<PROJECT>/.git-filters/git-keyword-clean.sh %f"
Ou crie uma configuração global, para uso em vários projetos.
git clone https://github.com/LVRodrigues/git-keywords.git
cd git-keyworks
git config --global filter.keyword.smudge "$(pwd)/git-keyword-smudge.sh %f"
git config --global filter.keyword.clean "$(pwd)/git-keyword-clean.sh %f"
Para cada projeto que desejar a macro substituição, adicione informações de tipo de arquivo e filtro para aplicar no arquivo **.gitattributes", na raíz do projeto. Por exemplo, para processar arquivos do tipo java, execute:
echo "*.java filter=keyword" >> <PROJECT>/.gitattributes