2009-05-11 10 views
-2

私のアプリケーションは新しい仕様に準拠する必要があります。Gitでsvnのタグ付けに似た何かを実行するには?

だから、私のアプリのバージョンをそのままタグにしたいと思います。 今後このバージョンをチェックアウトしたいと考えています。

最新の変更をすべてコミットしました。

そして私が行います

git tag -a stable-pre-new-spec 

は、私が実行すると:それはコミット私の最後からの差分を表示する

git show stable-pre-new-spec 

?!私は正確に理解していない 何が起こっている。

代わりにブランチを作成する必要がありますか?

+0

ここでは問題は表示されません。 'stable-pre-new-spec'は、コミットのシンボル名です。 "git show "はタグの内容を表示し(注釈付きタグの場合)、その下に "git show ^{commit}"と表示され、タグ付きコミットのチェンジセットが含まれます。 –

+0

私は自分のコミットだけをタグ付けしたくありません。私は、ソースツリーの現在のスナップショット(つまり、すべての成果物)に文字列を「タグ付け」したいと思います。 –

+1

タグは、指定されたコミットでソースツリーを指します。それはあなたのスナップショットです。簡単に "git checkout [-b ] "を使ってバージョンに戻ってさらに編集することができます。 gitにはすべてのアーティファクトをタグ付けしているわけではありません。なぜなら、あなたは常に単一のファイルではなく完全なリポジトリを扱うからです。 – Bombe

答えて

0

私はあなたのケースでブランチを使用したい:

git checkout -b app_in_current_state 

ブランチであなたの現在の状態にバグフィックスしているときは、その後、マスター上で開発を継続できるようになります。

2

2つのことが進行中です。まず、gitリビジョンは、ファイルツリー全体のリビジョンです。対照的に、私はcvsとsvnが個々のファイルに別々のリビジョン番号を与えると考えています。例えばcvsやsvnでは、 "tag"操作が出て、file1のバージョン1.0.3、ファイル2のバージョン1.0.2、ファイル3のバージョン2.0、ファイル4のバージョン1.3に "stable-pre-new-spec"のように付けられます。 7などがあります。そのタグを使用してフェッチする場合、システムはそのタグを持つすべての部分を探し出します。 gitでは、すでに1つのリビジョンがセット全体について書かれており、タグ付けするだけで別の名前が付けられます。

。SECOND_CHECKと、これはCVSとsvn--にgitを含む多くのCMシステムに適用されますが状態違いに同じ名前を与えます。 Gitはこの結合されたものをコミットと呼びます。あなたはバージョンについて尋ねると、それはあなたとその直前の状態の違いを示しています。 gitでは、コミットIDは実際には保存されたツリーの内容全体のチェックサムです。 golden spikeを表示するのは従来の方法です。

gitでは、コミットにタグを付けたり、作成した後にいつでもコミットにタグを付けることができます。

関連する問題