タグなしでGitからリモートでデータを取得する方法は?

タグなしでGitからリモートでデータを取得する方法は?

git fetch --all --no-tags言うように実行せずに実行するたびにタグを再インポートします。私がどうする実際にタグを取得せずにすべてのリモコンからインポートしますか?

再現するには:

  1. クロスこの倉庫
  2. フォークを複製する
  3. アップストリームリモコンの追加[email protected]:cachix/install-nix-action.git
  4. 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、ある時点でこの機能を手動で有効にしたことを意味します。リモートからインポートするときにタグを切り捨てないデフォルトの動作に戻るには、この設定を削除する必要があります。

関連情報