Skip to content

Commit d62b4f6

Browse files
author
Ronaldo Faria Lima
committed
Updated with new concepts. Deleted old and inaccurate concepts.
1 parent f8c3053 commit d62b4f6

File tree

1 file changed

+21
-21
lines changed

1 file changed

+21
-21
lines changed

2014/09/git-hooks.md

+21-21
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Git Hooks: o que são e por que você provavelmente não usará
1+
# Git Hooks: o que são e como usá-los
22

33
Os hooks não são exclusividade do GIT. Em verdade, praticamente todo sistema de
44
controle de versões de código moderno tem uma forma de hook. A ideia por trás do
@@ -10,14 +10,11 @@ comentário e verificar se o mesmo segue um determinado formato.
1010

1111
Os hooks são usados normalmente em empresas que implementam um ciclo completo de
1212
desenvolvimento, com rastreamento de requisitos do documento ao código. Este
13-
tipo de rastreamento envolve a integraçào das modificações no código com algum
13+
tipo de rastreamento envolve a integração das modificações no código com algum
1414
sistema de controle de requisitos ou problemas (issue tracker).
1515

1616
Assim, o hook é usado para lançar no sistema de controle de versões quais as
17-
alteraçòes que foram feitas em qual arquivo para qual issue. O fato é que com as
18-
técnicas modernas de desenvolvimento de software, isso está caindo em desuso
19-
pois eleva o custo do desenvolvimento de sistemas sendo que o benefício é
20-
mínimo.
17+
alteraçòes que foram feitas em qual arquivo para qual issue.
2118

2219
## Onde estão os hooks
2320

@@ -30,26 +27,29 @@ Uma coisa muito importante para se ter em mente: todos os scripts foram
3027
projetados para execução em algum shell linux ou unix. Porém você pode escrever
3128
seus hooks em python ou ruby ou na linguagem de scripting da sua preferência.
3229

33-
## Por que você provavelmente não vai usar
30+
## Cenários comuns de uso
3431

35-
A rastreabilidade de _issues_ em código é uma prática considerada antiquada hoje
36-
em dia, principalmente por que engessa o processo de desenvolvimento de
37-
software, tornando-o mais caro. São poucas as empresas que usam essas práticas
38-
pois exigem a adoção de alguma metodologia que exige alto grau de documentação
39-
de todo o processo, como o CMM.
32+
Existem alguns cenários interessantes que podem usar o git hook como uma
33+
ferramenta de integração e, até mesmo, validação. Por exemplo, digamos que o seu
34+
projeto tem um padrão bem estabelecido de comentários. Um hook de pré-commit
35+
pode validar o conteúdo dos comentários antes de realizar o commit, impedindo a
36+
operação se o comentário estiver fora de padrão.
4037

41-
A grande maioria das software houses e empresas que têm serviços de
42-
desenvolvimento não usam tal grau de rastreabilidade e, portanto, não há
43-
necessidade de algo tão apurado. Mesmo no caso de padronizações de comentários,
44-
é mais fácil e rápido confiar no developer do que ter de escrever shell scripts
45-
complexos para validar os comentários.
38+
Um outro uso refere-se à rastreabilidade: você pode integrar um commit com uma
39+
ferramenta de bug tracking, armazenando na ferramenta de bug tracking quais
40+
arquivos foram alterados para aquele commit.
4641

47-
Assim, provavelmente você não vai usar os hooks, principalmente por que trazem
48-
pouco benefício ao seu dia-a-dia.
42+
Há ainda um outro cenário no qual você pode forçar a indentação do código para
43+
determinado formato, chamando um code styler em um hook de pré-commit para
44+
garantir que o código sempre será carregado no repositório de acordo com os
45+
padrões da empresa.
46+
47+
Além de validações, é possível usar os hooks para integrações com sistemas de
48+
compilação e automações dos mais diversos tipos e necessidades.
4949

5050
# Mais Informações
5151

52-
Se você tem realmente necessidade de criar um hook, vale a pena dar uma lida
53-
[neste artigo](http://git-scm.com/book/pt-br/Customizando-o-Git-Hooks-do-Git). Os
52+
Vale a pena dar uma lida [neste
53+
artigo](http://git-scm.com/book/pt-br/Customizando-o-Git-Hooks-do-Git). Os
5454
principais hooks estão cobertos e há explicação de qual parâmetro cada um deles
5555
utiliza-se para validar os commits e outras operaçòes do GIT.

0 commit comments

Comments
 (0)