git fetch --all --no-tags
言うように実行せずに実行するたびにタグを再インポートします。私がどうする実際にタグを取得せずにすべてのリモコンからインポートしますか?
再現するには:
- クロスこの倉庫
- フォークを複製する
- アップストリームリモコンの追加
[email protected]:cachix/install-nix-action.git
git fetch --all --no-tags
何が起こるか:この取引はどのラベルにも害を及ぼすべきではありません。
実際に起こったこと:リモコンはお互いのタグを破壊しました。
❯ git fetch --all --no-tags
Fetching origin
From github.com:example-user/install-nix-action
- [deleted] (none) -> [omitted]
[…]
Fetching upstream
From github.com:cachix/install-nix-action
* [new tag] [omitted] -> [omitted]
[…]
デフォルトのリモコンのみをインポートしても、この動作が表示されます。
❯ git fetch --no-tags
From github.com:example-user/install-nix-action
- [deleted] (none) -> [omitted]
答え1
私が読んだ内容によるとgit-fetchドキュメント、--no-tags
単にgitにリモコンから新しいタグをインポートしないように指示するだけです。抽出中のリモコンに存在しなくなったローカルタグのクリーンアップは、他の設定によって行われます。つまり、fetch.pruneTags
出力にgit config --list
これが表示されるとfetch.pruneTags=true
、ある時点でこの機能を手動で有効にしたことを意味します。リモートからインポートするときにタグを切り捨てないデフォルトの動作に戻るには、この設定を削除する必要があります。