2013-01-07 4 views
5

私たちは、SvNからGitに移行しています。これにより、バージョン管理プロセスを合理化しようとしています。これを行うために、私は興味深い記事を見つけました:Vincent DriessenによるGit Branching Modelの成功。成功したGitブランチモデルで複数のバージョンをサポートする

私が記事から読むことができる限り、開発者は線形リリースを前提としています。クリアする:

v1.0.0 --> v1.0.1 --> v1.0.2 --> v1.1.0 --> v1.1.1 etc 

古いリリースのサポートには言及していません。たとえば、一部のクライアントがアップグレードしたくないため、最大3つのメジャーバージョンをサポートしています。 、

v7.0.0 --> v8.0.0 --> v9.0.0 --> v10.0.0 

v9.0.0のリリース後v8.0.0で見つかった重大なバグがある、我々はタグv8.0.0をチェックアウトするバグを修正し、developmaster枝に戻ってそれをマージ:だから私たちは、次のバージョンを持っている想像してみてください。 masterにマージするタグv8.0.1を取得します。

があるため二つの何らかの形で奇妙な私には思える:

  1. masterタイムラインがv7.0.0 --> v8.0.0 --> v9.0.0 --> v8.0.1 --> v10.0.0のようになります。私はそれが可能であることを完全に意識していますが、それも受け入れられますか?
  2. 私はmasterhotfixからマージ(とmasterv9.0.0でその瞬間にある)とv8.0.1でそれをタグ付けすると、私はまた、v8.0.0v9.0.0の間で導入された機能を得るのですか?

ありがとうございます!

答えて

4

私には、v8.0.1というタグは、マージの前にコミットする必要がありますmaster。新しいバージョンにパッチを適用する場合は、他のタグもそこにマージします。

v8.0.0 --> v9.0.0 --> v10.0.0 
    \   \   \ 
    v8.0.1 --> v9.0.1 --> v10.0.1/master 
+0

ありがとうございます!私はたぶんGitのタグ付けのコンセプトを最初に誤解していました:)開発/マスターにマージしてからタグ付けするのではなく、修正プログラム自体にタグを付けることができませんでした。ありがとう! – Ivan

関連する問題