C'è qualche gancio git per pull?


157

Devo eseguire alcune azioni (preparare i file di messaggio gettext * .mo) sul mio progetto ogni volta che corro git pull. Esiste un gancio git adatto, che potrei usare per questo scopo, per favore?


15
@Alan: Questo non è sicuramente un duplicato. Questa domanda riguarda un hook sul lato locale , dove corri git pull. Quello che hai collegato riguarda l'attivazione di un gancio sul telecomando , quando qualcuno lo estrae. (Ed è una domanda molto strana - implica che stanno usando un repository centrale non nudo ...)
Cascabel,

2
@Alan: abbastanza facile da perdere se stavi scremando - spero di non essere troppo duro. Divento paranoico sul fatto che le domande vengano chiuse in modo errato, dal momento che la riapertura dei voti impiega molto più tempo ad accumularsi.
Cascabel,

1
Jefromi: Hai assolutamente ragione. Non c'è bisogno di preoccuparsi. Ero solo triste per aver scremato e iniziato la chiusura.
Alan Haggai Alavi,

Risposte:


184

La githookspagina man è un elenco completo di hook. Se non è lì, non esiste.

Che detto, c'è un gancio post-fusione, e tutte tira includono una stampa, anche se non tutte le unioni è tiri. Viene eseguito dopo le fusioni e non può influire sul risultato. Non viene mai eseguito in caso di conflitti; dovresti prenderlo con l'hook post-commit se è davvero importante, o invocarlo manualmente.


39
@Jefromi "tutti i pull includono una fusione", anche se faccio un pull --rebase?
FMaz008,

11
Inoltre ho scoperto che l'unione non viene mai eseguita durante l'esecuzione git pullse non ci sono modifiche da inserire (sei già aggiornato).
Joe Bergantine,

11
@jbergantine: suppongo di essere stato impreciso nella mia risposta - tutti i pull che non sono no-op includono un'unione. Ma ... in generale, se stai cercando di agire ogni volta che si verifica un'unione, non penso che tu voglia agire quando qualcuno fa un'unione no-op. Ad esempio, sarebbe inutile che l'OP ricreasse quei file se nulla fosse cambiato.
Cascabel,

12
Se vuoi davvero fare qualcosa ogni volta che tiri ... potresti alias 'git pull' in modo da poter chiamare una sceneggiatura che fa il git pull e poi fare qualcos'altro
Shadow Radiance,

13
git pullcon rebase (con --rebaseo con la configurazione pull.rebase=true) non include un'unione e non attiverà l'hook post-unione. In questo caso è possibile specificare --no-rebaseper assicurarsi che l'hook sia attivato o utilizzare l'hook post-riscrittura.
Victor Schröder,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.