Atualmente, tenho uma configuração remota git como a seguinte:
[remote "upstream"]
url = <redacted>
fetch = +refs/heads/*:refs/remotes/upstream/*
Quando emito git pull
no mestre de ramificação, todos os cabeçotes remotos são buscados em controles remotos / upstream e, em seguida, remotes / upstream / mestre são mesclados no mestre. As tags que podem ser alcançadas também são buscadas ao mesmo tempo, o que é muito conveniente.
git pull
Além disso, gostaria de buscar todas as tags do controle remoto, não apenas aquelas diretamente acessíveis pelas cabeças. Inicialmente, tentei configurar tagopt == --tags
, mas achei que isso fazia com que apenas as tags fossem buscadas e, portanto, quebrava tudo. (Junio até diz que é uma péssima confusão ).
Existe uma maneira de fazer git pull
buscar todas as tags remotas por padrão, além das cabeças remotas?
git push origin <tag_name>
tagopt
solução não é mais uma configuração incorreta; a partir de 1.9 / 2.0 (primeiro trimestre de 2014), isso buscará todas as tags , além do que é normalmente buscado.Respostas:
Você deve conseguir isso adicionando um refspec para tags à sua configuração local. Concretamente:
fonte
Um simples
git fetch --tags
funcionou para mim.fonte
git ls-remote
.A
--force
opção é útil para atualizar as tags locais. Principalmente se você tiver tags flutuantes:A opção git pull também tem as
--force
opções e a descrição é a mesma:mas, de acordo com o documento de
--no-tags
:Se essa instrução padrão não for uma restrição, você também poderá tentar
fonte
git pull --force
não incluigit fetch --tags --force
Para mim, o seguinte parecia funcionar.
fonte
git fetch --tags
. Eu queria dar uma resposta alternativa. pull = buscar + mesclar. Então, a busca também acontece.É simples. Faça um
fonte
Eu uso isso com o magit no kernel.org
fonte