[解決済み] リモートリポジトリに存在しないローカルのgitタグを削除する
2022-03-17 11:15:49
質問
デプロイメントプロセスの一環として、gitのタグを使用しています。 時々、リモートリポジトリからこれらのタグを削除することによって、これらのタグをクリーンアップしたいと思います。
これはとても簡単なことです。 1人のユーザーが、ローカルタグとリモートタグを1つのコマンドで削除します。 この2つのステップを組み合わせた小さなシェルスクリプトがあります。
2番目(3番目、4番目、...)のユーザーのローカルタグは、リモートに反映されなくなりました。
のようなコマンドを探しています。
git remote prune origin
リモートブランチが削除され、ローカルに追跡しているブランチをクリーンアップするものです。
あるいは、リモートのタグをリストアップする簡単なコマンドを利用して
git tag -l
.
解決方法は?
いい質問ですね :) 完全な答えはないのですが...。
とはいえ、リモートタグの一覧は
git ls-remote
. で参照されるリポジトリ内のタグを一覧表示するには
origin
を実行することになる。
git ls-remote --tags origin
というように、ハッシュとフレンドリーなタグ名のリストを返します。
94bf6de8315d9a7b22385e86e1f5add9183bcb3c refs/tags/v0.1.3
cc047da6604bdd9a0e5ecbba3375ba6f09eed09d refs/tags/v0.1.4
...
2f2e45bedf67dedb8d1dc0d02612345ee5c893f2 refs/tags/v0.5.4
このリストで生成されたタグとローカルにあるタグを比較するbashスクリプトを組めば、確かにそうなりますね。 例えば
git show-ref --tags
と同じ形式でタグ名を生成します。
git ls-remote
).
余談ですが
git show-ref
には、あなたが望んでいることと反対のことをするオプションがあります。 次のコマンドは、リモートブランチにあるすべてのタグをリストアップします。
しない
はローカルにあります。
git ls-remote --tags origin | git show-ref --tags --exclude-existing
関連
-
gitアップロードの共通エラー処理
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] 現在のGit作業ツリーからローカル(未追跡)ファイルを削除する方法
-
[解決済み] リモート Git リポジトリの URI (URL) を変更するには?
-
[解決済み] 新しいローカルブランチをリモートの Git リポジトリにプッシュし、それを追跡するにはどうすればよいのでしょうか?
-
[解決済み] ローカルの Git リポジトリが元々クローンされた URL を特定するにはどうすればよいですか。
-
[解決済み] ローカルファイルシステムからファイルを削除せずに、Git リポジトリからファイルを削除する
-
[解決済み] Git を使ってタグをリモートリポジトリにプッシュするには?
-
[解決済み] リモートにないトラッキングブランチを削除
-
[解決済み】ローカルリポジトリのブランチをリセットして、リモートリポジトリのHEADと同じにする
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】ローカルにない作業がリモートに含まれているため、アップデートが拒否された
-
[解決済み】Gitマージで「すでに最新」と報告されるが、違いはある
-
[解決済み] git rebase fatal: 必要なリビジョンは1つです。
-
[解決済み】「オリジン/マスターへのプッシュが拒否されました」というエラーが常に発生するのはなぜですか?
-
[解決済み】Git Push Error: リポジトリデータベースにオブジェクトを追加する権限が不足しています。
-
[解決済み] 無効なVCSルートマッピング - 私のプロジェクトで3つのエラーが発生しました。
-
[解決済み] "would clobber existing tag "を取り除くには?
-
[解決済み] TortoiseGitで「git did not exit cleanly (exit code 128)」というエラーを解決するには?[クローズド]
-
[解決済み] 他のgitリポジトリからコミットをチェリーピックすることは可能ですか?
-
[解決済み] Git による大規模なバイナリファイルの管理