4

私は主にSVNに精通しています。私はしばらくの間 Git を使用していますが、極端に高度なことは行っていません。私のプロジェクトでは、個々のリリースをマークするタグを作成しています。たとえばv1.2.3、プロジェクトの特定のリリースに対して呼び出されるタグがあります。そのタグにバグ修正をコミットしてから、それをマスターにマージしたいと考えています。どうすればそれを行うことができますか?タグからブランチを作成する方法について調べましたが、それが正しい方法かどうかわかりません。タグに直接コミットしてからマスターにマージできますか?

4

1 に答える 1

7

私の意見では、タグへのコミットは完全に間違っていますが、svnは設計上許可されています。

たとえば、リリースv1.2.3があり、そのタグにコミットしているとしましょう。それでもv1.2.3または1.2.3aまたはそのようなもの?後でどのバージョン1.2.3があったかをどのように回復しますか?

それでも、gitではタグを再作成できます。ただし、「誤って間違ったバージョンにタグを付けた」以外の場合や、「最後の安定したリビジョン」などの「移動」タグがある場合に、これを行う必要があるかどうかはわかりません。

gitでは次のことができます:

git branch v1.2.3-bugfix v1.2.3   [v1.2.3-bugfix is your branch, v1.2.3 the tag]
git checkout v1.2.3-bugfix
-- do your changes --
git add ...
git commit
git tag -f v1.2.3

つまり、最初にタグから分岐を作成します。次に、そのブランチをチェックアウトします(git checkout -bを介してそのブランチのショートカットがあります)。変更をコミットして、タグを再作成します。

その後、バグ修正ブランチを削除できます。

于 2013-02-15T18:01:58.320 に答える