Die Frage sagt alles. Gibt es eine Möglichkeit, eine Aktion vor einer Zusammenführung auszuführen? Ich vermute, es gibt eine Möglichkeit, einen pre-commit
-Hook zu verwenden, aber ich bin mir nicht ganz sicher.
Sie können versuchen, den prepare-commit-msg
-Hook zu verwenden. Das zweite Argument ist merge
"wenn das Festschreiben eine Zusammenführung ist oder eine .git/MERGE_MSG
-Datei vorhanden ist". Ein Exit-Status ungleich Null bricht das Festschreiben ab.
Ich denke nicht, dass dies mit einer Zusammenführung mit schnellem Vorlauf funktionieren wird, da es keine Commit-Nachricht gibt.
Weitere Informationen zu Hooks: https://www.kernel.org/pub/software/scm/git/docs/githooks.html#_prepare_commit_msg
Eine weitere schöne Problemumgehung wäre das Hinzufügen eines Shell-Skripts. Benennen Sie es nach Belieben Fügen Sie dem Skript dann folgende Zeilen hinzu:
git() {
if [ "$1" == "merge" ]; then
echo "seems to work like a charme"
fi
command git "[email protected]"
}
git "[email protected]"
Dann machen Sie eine
alias git="./my-pre-merge-script.sh"
Dann bist du gut zu gehen. Sie haben gerade Ihren eigenen Pre-Merge-Hook hinzugefügt .. Ich weiß, dass Sie keinen Zugriff auf die Argumente haben, die Git an einen echten Pre-Merge-Hook übergeben würde ; Ich persönlich bin mit diesem Ansatz sehr zufrieden: Ich habe zwei oder drei ganze Tage gebraucht, um etwas für das Pre-Merge zu finden, dann musste ich mit der Pre-Commit-msg gehen, die ich für meine Bedürfnisse nicht genau genug fand. Das löst alle meine Probleme. Hoffe, das hilft jedem in der Zukunft.