2017-10-16 4 views
0

簡潔に言えば、リポジトリの1つのブランチを持ち、1.0.0というタグをつけて、他のブランチのタグ1.1.0で(そのタグの前か後に)分かれているのでしょうか?gitの複数のブランチにバージョンタグを付けることはできますか?

1.1.0を指定していて、それがマスターの横にある別のブランチにあった場合、どのように反応しますか?

また、1.0.0のブランチを1.1.0のブランチにマージするとどうなりますか?

答えて

0

タグはgitのブランチのようには動作しません。タグは、後で簡単に参照できるように、特定のコミットにラベルを付けるものと考えてください。コミットハッシュを指定する場所であれば、代わりにタグ名を使用できます。

Gitでは、ブランチとは何か、つまり実際にタグをチェックアウトすると、コミットを作成することができないという警告が表示されます最初に支店をチェックアウトした)。タグに基づいていくつかの変更を加えたい場合は、最初にブランチを作成する必要があります。

たとえば、そのバージョンがリリースされたときに作成された1.0.0というタグがあり、その後masterに次のリリース用のコミットが追加されていて、1.0でバグを修正したい場合は、この時点で

git checkout -b bug-fixes 1.0.0 
...fix bugs... 
git commit -a -m "fixed bugs in the release" 

bug-fixesブランチは1.0.0タグ(あなたのプログラムの最初のリリース)のオフに基づいており、その中に追加のバグフィックスを持っています。

+0

実際、タグ名はGitのブランチ名とよく似ています。ここでの問題は、ブランチ名*も* 1つの特定のコミットだけを指していることです。タグ名は使用しないでください。ブランチ名は、時間の経過と共に特定のコミットを変更します。ただし、タグ名は使用しないでください。ユーザーはブランチ名から複数のコミットを参照します。また、タグをチェックアウトすると、 "detached HEAD"モードに入り、新しいコミットを行うことができます。これは人々がこのように足で撃つので、Gitはデフォルトでは許可しないでください。 :-)しかしあなたの答えのここのアイデアは正しいです。それはちょうど、まあ、種類が乱雑であるこれらすべての乱雑な詳細です... – torek

+0

(PS:私はdownvoted誰か分かりません - それは私ではありませんでした) – torek

+1

Yah、それは私でした。 – jthill

関連する問題