Se eu criar um novo script de gancho em meu repositório local em repo / .git / hooks / post-commit e executar "git push", os ganchos serão colocados no remoto? Então, quando os outros desenvolvedores executarem "git pull" da mesma origem, eles obterão meus novos ganchos?
96
Respostas:
Não. Ganchos são por repositório e nunca são enviados. Da mesma forma, a configuração do repo também não é enviada, nem há nada dentro
.git/info
, ou uma série de outras coisas.O push e o pull apenas trocam branches / tags e objetos de commit (e qualquer coisa acessível a partir de um commit, por exemplo, árvores, blobs).
fonte
.githooks
diretório que seria controlado por versão e então sym-link ou criar scripts de gancho de wrapper de dentro.git
. A clonagem não seria.githooks
conectada automaticamente, mas uma vez conectada, você pode enviar e receber novas versões dos scripts de gancho.Não, os ganchos do git não são empurrados ou puxados, pois não fazem parte do código do repositório.
Consulte a documentação para obter uma lista de ganchos simples do lado do cliente e do lado do servidor.
Se você deseja habilitar alguns ganchos para todos os clientes que clonam ou extraem de um determinado repositório, você deve adicionar os ganchos à sua base de código e, em seguida, criar seu próprio script para copiá-los ou de onde criar um link
repo/.git/hooks/
.fonte
setup.sh
que o dev executa quando clona pela primeira vez o repositório. Depois disso, as atualizações dos ganchos podem acontecer automaticamente, tendo um gancho que reexecuta um script, atualizando-os após cada pull, por exemplo. Assim, você não precisa depender do desenvolvedor para fazer isso sozinho.Infelizmente não, mas desde o git 2.9 você pode colocá-los na pasta .githooks (como outros mencionaram) e executar:
Portanto, não há necessidade de links simbólicos ou arquivos de cópia.
fonte