Git Pre-Commitフックはリポジトリにファイルを追加できますか?

StackOverflow https://stackoverflow.com/questions/4835035

  •  27-10-2019
  •  | 
  •  

質問

ワーキングディレクトリにgitログのテキストファイルを保持しており、コミット後に更新するスクリプトがあります。これは問題ありませんが、これの効果は、リポジトリの内部にあるバージョンが常に1つのコミットメントであるということです。

スクリプトを呼び出してリポジトリにファイルを追加する事前コミットフックを作成し、実際にログのテキストバージョンを保存して、現在のコミット情報を内部に保存することは可能ですか?

私はGit Hooksを初めて使用していますが、可能であれば、これがどのように機能するかはわかりません。助けてくれてありがとう!

役に立ちましたか?

解決

短い答え:いいえ。ログには、コミットのSHA1が含まれています。これは、コミットの内容に依存します。ログを変更すると、コミットが変更されますが、それでも無効です。

なぜあなたがこれをやろうとしているのだろうか。リポジトリ内で、 git log 同じくらい良いです cat saved-git-log. 。これをチェンジログとして、リリースバージョンの場合は、ビルド/展開プロセスの一部として作成するだけです。たとえば、次のようなものです。

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

他のヒント

Bitbucket/GithubのRSSフィードから完全なログを引くだけです。特にHerokuを使用するときにあなたが求めていることを達成するための最も簡単な方法のようです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top