git fetch --all --no-tags
não faz o que diz na lata e continua buscando tags sempre que eu o executo. Como faço para buscar todos os controles remotos sem buscar tags?
Reproduzir:
- Bifurque este repositório
- Clone seu garfo
- Adicione um controle remoto upstream para
[email protected]:cachix/install-nix-action.git
git fetch --all --no-tags
O que deve acontecer: Nenhuma tag deve ser prejudicada por esta transação.
O que realmente acontece: os controles remotos derrotam as tags uns dos outros:
❯ 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]
[…]
Ele ainda exibe esse comportamento ao buscar apenas o controle remoto padrão:
❯ git fetch --no-tags
From github.com:example-user/install-nix-action
- [deleted] (none) -> [omitted]
Com base na minha leitura da documentação do git-fetch ,
--no-tags
apenas diz ao git para não buscar novas tags em seus controles remotos. A limpeza de tags locais que não existem mais nos controles remotos dos quais você está extraindo é conduzida por uma configuração diferente, ou sejafetch.pruneTags
, . Se a saída degit config --list
showsfetch.pruneTags=true
, significa que você provavelmente ativou esse recurso manualmente em algum momento. Você deve remover essa configuração para voltar ao comportamento padrão de não remover tags ao buscar em controles remotos.