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