問題タブ [git-tag]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
git - 軽量タグと注釈付きタグを気にする必要があるのはなぜですか?
昨年、日常の VCS を Subversion から Git に切り替えましたが、まだ「Git-think」の細かい点を把握しようとしています。
最近私を悩ませているのは、「軽量」タグと注釈付きタグと署名付きタグです。注釈付きタグが軽量タグよりも優れていることは、実際のすべての用途で広く受け入れられているようですが、私が見つけた理由についての説明は、常に「ベストプラクティスのため」または「それらが異なるため」のいずれかに要約されるようです。 . 残念ながら、それがベスト プラクティスである理由や、それらの違いが私の Git の使用法にどのように関連しているかを知らずに、これらの議論は非常に満足のいくものではありません。
私が最初に Git に切り替えたとき、軽量タグはスライスパン以来最高のもののように思えました。コミットを指して、「それは 1.0 でした」と言うことができました。タグがそれ以上である必要があるかどうかを理解するのに苦労していますが、世界中の Git エキスパートが注釈付きタグを恣意的に好むとは信じられません! それで、騒ぎは何ですか?
(ボーナス ポイント: タグに署名する必要があるのはなぜですか?)
編集
誰がいつタグ付けしたかが重要なのです! フォローアップとして、適切なタグ アノテーションに関するアドバイスはありますか? どちらもgit tag -am "tagging 1.0" 1.0
前回のタグ以降のコミットログをまとめてみると戦略に負けそうな気がします。
git - 軽量タグを注釈付きタグに変換できますか?
コミットに軽量タグを付け、そのタグをリモートリポジトリにプッシュして、他の開発者と共有しました。に表示されるように注釈を付ける必要があることに気付きましたgit describe
。
物事を壊すことなくコミットを変換/再タグ付けする方法はありますか?
git - Gitを使用してタグをリモートリポジトリにプッシュするにはどうすればよいですか?
リモートのGitリポジトリをラップトップに複製した後、タグを追加したかったので、実行しました
git tag
ラップトップで実行すると、タグmytag
が表示されます。次に、これをリモートリポジトリにプッシュして、すべてのクライアントにこのタグを設定したいので、実行しgit push
ましたが、次のメッセージが表示されました。
すべてが最新です
また、デスクトップに移動して実行するgit pull
と、git tag
タグが表示されません。
また、プロジェクト内のファイルに小さな変更を加えてから、サーバーにプッシュしようとしました。その後、サーバーからデスクトップコンピューターに変更をプルできましたが、デスクトップコンピューターで実行しているときはまだタグがありませんgit tag
。
すべてのクライアントコンピューターがタグを表示できるように、タグをリモートリポジトリにプッシュするにはどうすればよいですか?
ruby-on-rails - capistrano と git を使用した堅牢なデプロイ戦略
次のシナリオを可能にする RoR アプリの堅牢な展開戦略を設定する最善の方法は何ですか?
- 新機能のコミット
- ステージング環境にデプロイされた新機能
- 緊急機能/修正コミット
- ステージングに展開された緊急修正 (および以前の機能は除外されます)
- ステージングでテストされた緊急修正
- 本番環境にデプロイされた緊急修正
- 元の新機能をステージングに戻す
私が知る限り、git ブランチまたはタグ付け、あるいはその両方を使用する必要があります。これらのブランチやタグを維持するオーバーヘッドを削減または自動化できるツールはありますか?
git - gitでメッセージ全体とともにすべてのタグを一覧表示する方法は?
git にすべてのタグを、完全な注釈またはコミット メッセージとともに一覧表示してもらいたい。このようなものは近いです:
これは、タグ メッセージの最初の 5 行までしか表示されないことを除けば、まさに私が望んでいることです。
非常に大きな数を使用できると思います。ここで使用できる最大数はいくつですか? どのコンピュータでも同じですか?
更新:私はこれについて考えるのに多くの時間を費やしましたが、メッセージの一部が非常に長い場合、必ずしも各メッセージの全体を表示したくないと思います。大量のメッセージを表示する必要があるという特別な必要はありませんでした (タグメッセージを含め、私が書くすべてのものに長々と巻き込まれるという私自身の傾向を除いて)。必ずしもメッセージ全体が表示されるとは限らないという考えが気に入らなかった. しかし、情報が多すぎるのも悪いことです。
git - リモートタグを削除するには?
すでにプッシュされた Git タグを削除するにはどうすればよいですか?
git - Git:ローカルタグとリモートタグを区別する
リモートリポジトリにタグがある場合、プルすると通常自動的に取得されます。作成したローカルタグ(git tag -d <tag-name>
)を削除してプルすると、削除したタグが再作成されます。リモートブランチ/タグ()を削除できますが、リモートタグをフェッチしてローカルタグが作成されたgit push <remote-branch/tag-name>:<branch/tag-name>
ことをどのように検出できますか?
git - Git タグをチェックアウトすると、「切り離された HEAD 状態」になります
私は自分の git プロジェクトのデプロイ スクリプトを開発しており、タグの使用を開始したばかりです。という新しいタグを追加しましたv2.0
:
このタグをリモートリポジトリにプッシュしました
v2.0
デプロイ スクリプトを実行してタグをチェックアウトしようとすると、次のメッセージが表示されます。
あなたは「切り離された頭」の状態にあります。周りを見回して、実験的な変更を加えてコミットすることができます。また、別のチェックアウトを実行することで、ブランチに影響を与えることなく、この状態で行ったコミットを破棄できます。作成したコミットを保持するために新しいブランチを作成する場合は、checkout コマンドで -b を再度使用して (現在または後で) 行うことができます。例: git checkout -b new_branch_name HEAD は現在
それは正常ですか?私が行う場合:
私はこの出力を得る:
これが明らかである場合は申し訳ありませんが、私はそれを理解できませんでした。
git - git:ブランチごとのタグのようなものはありますか?
履歴の書き換えがありますが、今のところ元のツリーをそのままにしておきたいと思います。ただし、書き直されたツリーは、以前に使用されたタグもコピーする必要があります。たとえば、タグ名の前にブランチ名を付けるよりも手動のオプションはありますか?
git - サブモジュールの古いコミットにgitでタグを付ける
単一のサブモジュール(repo2)を含むgitプロジェクト(repo1)があります。私が達成したいのは、サブモジュールの古いコミット(HEAD-3など)を使用してプロジェクトにタグを付けることです。
サブモジュールをチェックアウトして必要なコミットを試みましたが、プロジェクトでコミットすると適切なリビジョンが追跡されないため、チェックアウトが間違っています。サブモジュールを必要なコミットにリセットし、プロジェクトをコミットしてから、サブモジュールをプルしてプロジェクトをコミットしようとしましたが、これも間違っています。
最良の、そして最も優れた手順は何でしょうか?
Gitサブモジュールのhead'参照はツリーではありません'エラーは答えの始まりを示しますが、それでもrepo2のHEADをリンクし、選択されたコミットはリンクしません...
タグが完成したとすると、repo1にrepo2をタグの適切な状態に設定するように指示するにはどうすればよいですか。
gitサブモジュールの更新によると、単純な
十分なはずです。サブモジュールを指定されたコミットにチェックアウトしません。なんで ?それは...バグですか?