1

Git で追跡するプロジェクトがあります。ほとんどの場合、私は Git パラダイムに何の問題もありませんでしたが、私がよく理解していない問題が 1 つあります。現在、私のmasterブランチは、ある時点でリリースされるコードを指しています。masterトピック ブランチは、準備ができたら にマージされdevelop、他の開発コードで動作することをテストします。(ちなみに、Git Flow を試してみましたが、気に入りませんでした。)

このスキームの問題は、リリースにタグを付ける直前にバージョンをインクリメントしたため、ビルドが最後の安定版リリースと同じバージョンであるmasterか、同じバージョンを持っているように見えることです。develop私はこれを望んでいません-不安定なコードが自分自身をそのように参照することを望みます! 私の質問: バージョン バンプをコミットするための一般的な規則や使用可能な規則は何ですか? また、この種の状況を回避するために、どの分岐モデルとタグ付けモデルを使用できますか? 私のプロジェクトは大きな Linux カーネルスタイルのモデルを保証するほど大きくないので、単純なものが大好きです :)。

4

2 に答える 2

1

scripts/setlocalversionによって Linux カーネルでどのように行われるかを確認する必要があります。

基本的に、このスクリプトは、タグ付けされた最も近いコミットからバージョンを推測しようとします。現在のコミットがタグ付けされている場合、このタグはクリーン バージョンと見なされます。そうでない場合は、現在のコミットの短い sha をタグに追加してバージョンになります。現在のツリーにコミットされていない変更がある場合、その上に文字列 "dirty" が追加される場合があります。

これはやや簡略化された説明であることに注意してください (実際には、 main のバージョン番号も検索しますMakefile)。

他のいくつかのツール、特にu-bootも同様のバージョン管理アプローチを採用しています。

于 2013-01-08T05:35:41.873 に答える
0

セマンティック バージョニングが人気です - http://semver.org/

于 2013-01-08T05:10:36.413 に答える