Frage

Ich behalte eine Textdatei meines Git -Anmeldes in meinem Arbeitsverzeichnis und habe ein Skript, das sie nach einem Commit aktualisiert. Dies ist in Ordnung, aber der Effekt davon ist, dass die Version, die sich im Repo befindet, immer ein Verpflichtung ist.

Ist es möglich, einen Pre-Commit-Hook zu schreiben, der ein Skript aufruft und dem Repo eine Datei hinzufügt, und speichert die Textversion des Protokolls mit den aktuellen Commit-Informationen darin?

Ich bin neu in Git -Hooks und habe keinerlei Ahnung, wie dies funktionieren würde, wenn es überhaupt möglich ist. Ich schätze die Hilfe!

War es hilfreich?

Lösung

Kurze Antwort: Nein. Das Protokoll enthält das SHA1 des Commits, das vom Inhalt des Commits abhängt. Wenn Sie das Protokoll ändern, werden Sie das Commit ändern und es ist immer noch ungültig.

Ich frage mich, warum Sie das wirklich versuchen. Innerhalb des Repositorys, git log ist genauso gut wie cat saved-git-log. Wenn Sie dies als Changelog möchten, erstellen Sie es für veröffentlichte Versionen einfach als Teil Ihres Build-/Bereitstellungsprozesses, zum Beispiel so etwas wie folgt:

tarname=my-project-$(git describe HEAD).tar
git log > changelog.txt
git archive --format=tar HEAD > $tarname
tar -Af $tarname changelot.txt
gzip $tarname

Andere Tipps

Ich ziehe einfach die vollen Protokolle von einem RSS -Feed für Bitbucket/Github. Es scheint, dass dies der einfachste Weg ist, um das zu erreichen, was Sie fragen, besonders wenn Sie Heroku verwenden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top