2014-02-25 12 views
7

Ich versuche, eine Reihe von Git-Hook-Skripte für meine Organisation zu erstellen, und eine, die ich (für mehrere Projekte nur für mich selbst) verwenden möchte, wäre zu überprüfen, git rebase --continue, dass ich keine Konflikte Marker übrig haben in meinem Code (<<<<<, ===== oder >>>>>).Welche git hooks gelten für "git rebase - continue"?

Ich habe bereits ein solches Skript für meine Vorfestlegung, aber welches Skript gilt für eine rebase --continue?

+0

Der "Pre-Rebase" Haken tritt zu früh ein? – Ludder

+0

@Ludder: Ja, es läuft, bevor die Rebase startet. – sleske

Antwort

3

Die Manpage githooks enthält eine Liste der verfügbaren Git-Hooks. Es gibt keinen Haken für git rebase --continue (die Liste ist erschöpfend).

Es gibt einen Haken "post-rewrite", der "von Befehlen aufgerufen wird, die Commits umschreiben", z. B. git rebase. Es wird jedoch nur ausgeführt, sobald der Befehl ausgeführt wurde (d. H. Wenn die Umlagerung beendet ist).

Es wird Ihnen die Liste der neuen Commits geben, die durch das Neuschreiben erstellt wurden. Sie können also überprüfen, ob die Commits Konfliktmarker enthalten und sich beschweren, aber zu diesem Zeitpunkt ist es zu spät, um die Rebase abzubrechen. Sie können die Rebase natürlich mit dem Reflog wiederherstellen.

Alles in allem ist es wahrscheinlich einfacher, einen Wrapper für git rebase zu schreiben oder ein separates Prüfprogramm, das manuell aufgerufen wird. Auf jeden Fall sollten Sie (IMHO) immer die Änderungen überprüfen, die Sie vorgenommen haben, bevor Sie git rebase --continue aufrufen. Wenn Sie dabei bleiben, werden Sie nicht versehentlich Konfliktmarkierungen eingecheckt haben.