2016-09-22 3 views
1

Ich habe einen post-checkout Haken, der einige Zeit braucht um laufen zu können, und ich möchte ihn überspringen, wenn ich zwischen den Zweigen herumspringe und Reparaturen mache.Überspringe einige oder alle Git Haken

Wie kann ich generisch die Ausführung einiger oder aller git Haken überspringen?

+0

Mögliches Duplikat [Conditional pre-commit Haken von der Kommandozeile für GIT gesteuert: Ist es möglich,] (http://stackoverflow.com/questions/9730937/conditional-pre-commit-hook-gesteuert-von-Kommandozeile-für-git-ist-es-möglich – 1615903

Antwort

2

Hier ist eine der möglichen Lösungen.

Definieren Sie einen Konfigurationsschlüssel wie my.hook als den Schalter zum Aktivieren oder Deaktivieren der Hooks. Weiter, my.hook.post-checkout, um nur post-checkout zu aktivieren oder zu deaktivieren. Aber Sie müssen sich mit den Schlüsseln und Werten in jedem Ihrer Hooks beschäftigen, wenn Sie wollen, dass sie funktionieren.

git config --global my.hook true 
git config my.hook.post-checkout false 

A post-checkout Demo,

#!/bin/bash 

test x`git config --get my.hook` == x"false" && exit 0 
test x`git config --get my.hook.post-checkout` == x"false" && exit 0 
echo hello world