2017-10-02 8 views
1

git describeとすると、私の現在のコミットが基づいている最新のタグに関する情報と、それまでの距離を知ることができます。git describeのように "nexts"タグを取得します。

同じ情報に基づいて、のベータ版のセマンティックバージョン番号を作成します。次はリリースです。言い換えれば、

A -- B -- C -- D 
|    | 
v1.2.3   HEAD 

のようなツリー与え、git describeは私にv1.2.3-4-Dような何かを与えることができます - しかし、どのように私は(どのセグメントに応じて、私はインクリメントしたいと言う)v1.2.4-betaまたはv1.3.0-betaのようなものに入手できますか?これを処理するためにgitに組み込まれたツールがありますか?それとも、git describeで始まり、それを私のために増やすことができる何かに渡す必要がありますか?


それはgit describe --containsに依存しているため、提案の重複質問は、私の問題を解決しないと、将来のタグがすでに存在している場合ということにのみ動作します。私は、現在のレポ状態と(どのような部分(メジャー/マイナー/パッチ)を増やすべきか)だけを与えることによって、推測すると、の次のリリースバージョンになる方法を探しています。

+0

[gitでコミットした後に起こったタグは?](https://stackoverflow.com/questions/39857509/which-tag-happened-after-a-commit-in-git) – max630

+0

@ max630:いいえ、その質問は次のタグが存在するときに_これを行う方法について質問しますが、この質問は、それが存在する前に次のタグが存在することを推測することに関するものです。 –

+2

Gitは、タグを作成するときにどのような名前でコミットするのかを知りません。 – ElpieKay

答えて

0

このコメントは、プレーンでは不可能であると思われるようです。gitコマンド。したがって、私はGitVersionを使用して、解決したい問題を解決しました。(ディスク上の小さなymlファイルを使用して、どのバージョンについてのデータを保存するのですか?git describeから派生させるのではありません)。

+0

これは正しい答えのようですしかし、これは本当に* Git *とは関係ないことに注意してください。MercurialやP4に格納していたら次のバージョンにラベルを付けるかどうかを判断するのに全く同じ手順を使います。すべて。 – torek

+0

@torek:はい。しかし、私が質問したとき、私はそれを知ることができませんでしたか? ;)そして私はまだ間違っていると思われるかもしれません - GitVersionのようなツールに頼らずに 'git'コマンドからこの情報を構築する方法があれば、何よりも良い解決策になるかもしれません。私が今持っています。 –

関連する問題