Desde que criei meu repositório, parece que as tags que eu tenho criado não são enviadas por push ao repositório. Quando eu faço git tag
no diretório local, todas as tags estão presentes, mas quando faço logon no repositório remoto e faço um git tag
, apenas as primeiras aparecem.
Qual poderia ser o problema?.
git push --follow-tags
agora pode ser útil, ver minha resposta abaixoRespostas:
Você pode fazer isso:
fonte
git push --tags
, pois pode ser muito difícil livrar-se de tags ruins quando seus colegas de trabalho são treinados para enviar todas as tags, pois as pessoas continuam enviando as tags ruins antigas que eles têm localmente toda vez que deseja empurrar uma nova tag. Por isso, aconselharei todos a usargit push origin <tag_name>
agora. " - copiado de stackoverflow.com/a/5195913/4130619Na configuração remota padrão do git, você precisa enviar tags explicitamente (enquanto elas são buscadas automaticamente junto com as confirmações para as quais apontam). Você precisa usar
empurrar uma única tag ou
empurrar todas as tags (ou
git push --tags
empurrar para o controle remoto padrão, geralmenteorigin
).Esse é um comportamento muito pretendido, para tornar explícitas as tags de envio. Empurrar etiquetas deve ser geralmente uma escolha consciente.
Resumindo o que Junio C. Hamano escreveu (link nos comentários de @Andre Miras)
É por isso que
git fetch
"segue" automaticamente as tags, ou seja, ele baixa as tags ao baixar as revisões para as quais elas apontam - em outras palavras, baixa todas as tags publicadas relevantes .É por isso que você precisa pressionar a tag explicitamente, para marcar como pública.
Como alternativa, você pode configurar o controle remoto para o qual você pressiona para sempre pressionar todas as tags, por exemplo, colocar algo assim em seu
.git/config
:Isso significa forçar o envio de todas as cabeças (todas as ramificações) e todas as tags (se você não quiser forçar o envio de cabeças, remova o prefixo '+' do refspec).
fonte
Observe que desde o git 1.8.3 (22 de abril de 2013) , você não precisa mais executar 2 comandos para enviar ramificações e depois enviar tags:
Agora você pode tentar, ao enviar novas confirmações:
Porém, isso não enviará todas as tags locais, apenas as anotadas referenciadas por confirmações que são enviadas por push com
git push
.Isso foi introduzido no commit c2aba15 por Junio C Hamano (
gitster
) :A configuração
push.followTags
permite incluir--follow-tags
por padrão (Git 2.4.1+, Q2 2015). Consulte " Push git confirma e identifica simultaneamente "fonte
git push --follow-tags
não empurrar mais do quegit push
O que eu costumo fazer é:
Isso significa que empurra todos os ramos que já estão lá, além de tags. Ele não força o push e não empurra o ramo que você não empurrou manualmente.
fonte
E se você deseja forçar a busca de todas as tags, você pode configurá-lo na configuração por:
Dos documentos:
fonte