1

ブランチでアプリを開発し、それが完了したら、そのブランチをマスターにマージするという質問があります。マスターからタグを作成します。

本番環境では、ワークスペースにこのアプリケーション git リポジトリがあります。新しいバージョンをリリースしたら、そのディレクトリに移動して、作成したタグをチェックアウトできますか?

ps、この方法でうまくいくと思いますが、次のことで混乱します。

$ git branch
* (no branch)
master

本番環境で使用しているタグがわかりません。使用しているタグを表示する方法はありますか?

4

3 に答える 3

2

本番環境では、ワークスペースにこのアプリケーション git リポジトリがあります。新しいバージョンをリリースしたら、そのディレクトリに移動して、作成したタグをチェックアウトできますか?

はいといいえ。

Git は、現在チェックアウトされているバージョンに基づいて新しい作業を行う必要があると想定しています。タグは不変 (変更不可) であるため、タグに対して新しい作業を行うことはできません。したがって、あなたがするときはどうなりますか

$ git checkout <tag>

Git が上記のタグの状態をチェックアウトし、 から始まる匿名ブランチ ( git ドキュメントでは" detached HEAD<tag> " と呼ばれます) を作成し、そこで新しい作業を作成できるようにします。

そのため、git-branch の出力に次のように表示(no branch)されます

$ git branch
* (no branch)
  master

「切り離された HEAD」の概念は、IMVHO の「Git の概念を簡略化」のセクション「切り離された HEAD とそのすべて」で (図を使用して) 十分に説明されており、そこではgit checkout v1.0操作が詳細に説明されています。


本番環境で使用しているタグがわかりません。使用しているタグを表示する方法はありますか?

注釈付き/署名付きタグ (またはを使用して作成) を使用している場合、または軽量タグを使用している場合は、 git-describeを使用できます。git tag -sgit tag -agit describe --tags

たとえば、あなたは得るでしょう

$ git describe
<tag>

あなたが直接タグを付けている場合。

于 2013-09-04T10:43:26.553 に答える
0

はい、これが意図された使用方法です。デフォルトではタグをプッシュ/プルしないようにしてください。

于 2013-09-04T10:03:03.057 に答える