2015-11-02 21 views
7

私はアルファ段階から脱却しているプロジェクトがあり、私は定期的にリリースする準備ができています。私はGitHubのは「魔法」リリースボタンを持って知っているが、私は一般的に、私は彼らが正確にわからない「魔法」の機能が好きではありません:gitが--versionオプションのバージョン番号ファイルを自動生成する方法はありますか?

https://github.com/blog/1547-release-your-software

を私の知る限り、この「魔法を伝えることができるように'GitHubのリリース機能は、ソースリポジトリにコードの特定の状態のタグを作成するか、既存のタグを使用するだけです。そのリンクによれば、タグ名はセマンティックバージョン番号、すなわちMajor.Minor.Patch ex:v10.1.2またはそのようなものを反映しなければならない。

一般に、リリースを行うために受け入れられるGitの方法は、単純にタグを作成することです。私がしたいのは、Gitが自分のコードツリー内に、ある種のファイルを自動的に作成することです。version.txtまたはversion.hこのファイルには、作成したgitタグの名前が含まれていますユーザーがコマンドラインでマイポーログラム--versionを発行すると自動的にソースとなります。私は、プログラムがビルドされるときにバイナリに統合されるので、私は自動生成されたヘッダファイルが好きです。自動的にこれを行うにはいくつかの方法がありますか、gitタグコマンドを発行する前に、タグ番号をファイルに自動的にパイプする必要がありますか?

答えて

4

はここで素敵な解決策を参照してください:https://coderwall.com/p/mk18zq/automatic-git-version-tagging-for-npm-modules

は、基本的にはそれを他の方法で回避を行います。テキストファイルまたはヘッダーファイルを作成します。 version.hを::

#define VERSION 10.1.2 

をして、ファイルの変更を探しpost-commitフックを作成して言うことができます。デプロイするには、バージョンを変更してファイルをコミットします。フックは一致するタグを作成します。

+0

他の方法でこれを行うことはできますか?ポストコミットフックは、テキストファイルをインクリメントするバージョン番号または単にコミット番号で更新できますか? –

関連する問題