Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Dúvida sobre git tag

Olá, eu fiquei na dúvida em relação a como funciona esse envio das tags pro servidor e pros outros desenvolvedores. Porque no meu teste local não funcionou exatamente como eu achei que deveria funcionar.

O que eu fiz foi o seguinte: criei a tag no branch da Ana ao invés de criar no branch do vinícius que estava conectado com o git hub. Então no Git da Ana eu dei:

$ git tag -a v0.1.0 -m "adicionando tag"

$ git tag
v0.1.0

$ git push local v0.1.0
Enumerating objects: 1, done.
Counting objects: 100% (1/1), done.
Writing objects: 100% (1/1), 155 bytes | 155.00 KiB/s, done.
Total 1 (delta 0), reused 0 (delta 0), pack-reused 0
To /home/daniel/workspaces/cursos/Git-servidor/
 * [new tag]         v0.1.0 -> v0.1.0

$ git remote -v
local    /home/daniel/workspaces/cursos/Git-servidor/ (fetch)
local    /home/daniel/workspaces/cursos/Git-servidor/ (push)

Quando percebi que estava no terminal da Ana, fui pro terminal do Vinícius e puxei os dados do servidor:

$ git pull local master
warning: Pulling without specifying how to reconcile divergent branches is
discouraged. You can squelch this message by running one of the following
commands sometime before your next pull:

  git config pull.rebase false  # merge (the default strategy)
  git config pull.rebase true   # rebase
  git config pull.ff only       # fast-forward only

You can replace "git config" with "git config --global" to set a default
preference for all repositories. You can also pass --rebase, --no-rebase,
or --ff-only on the command line to override the configured default per
invocation.

remote: Enumerating objects: 12, done.
remote: Counting objects: 100% (12/12), done.
remote: Compressing objects: 100% (10/10), done.
remote: Total 10 (delta 3), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (10/10), 1.02 KiB | 148.00 KiB/s, done.
From /home/daniel/workspaces/cursos/Git-servidor
 * branch            master     -> FETCH_HEAD
   6246592..8577e54  master     -> local/master
Updating 6246592..8577e54
Fast-forward
 index.html | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

$ git tag

$ git remote -v
local    /home/daniel/workspaces/cursos/Git-servidor/ (fetch)
local    /home/daniel/workspaces/cursos/Git-servidor/ (push)
origin    https://github.com/danielnogueir/alura-gir.git (fetch)
origin    https://github.com/danielnogueir/alura-gir.git (push)

Pra minha surpresa, como mostrado acima o git tag não retornou nada. Aí pensei "claro, preciso puxar a tag e não o master" Aí dei um git pull na tag:

$ git pull local v0.1.0
warning: Pulling without specifying how to reconcile divergent branches is
discouraged. You can squelch this message by running one of the following
commands sometime before your next pull:

  git config pull.rebase false  # merge (the default strategy)
  git config pull.rebase true   # rebase
  git config pull.ff only       # fast-forward only

You can replace "git config" with "git config --global" to set a default
preference for all repositories. You can also pass --rebase, --no-rebase,
or --ff-only on the command line to override the configured default per
invocation.

remote: Enumerating objects: 1, done.
remote: Counting objects: 100% (1/1), done.
remote: Total 1 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (1/1), 135 bytes | 135.00 KiB/s, done.
From /home/daniel/workspaces/cursos/Git-servidor
 * tag               v0.1.0     -> FETCH_HEAD
Already up to date.

$ git tag

Mas também não funcionou e o git tag continua não exibindo a tag no repositório do Vinícius. Porque isso aconteceu? Como trazer a tag pro respositório do Vinicius?

1 resposta
solução!

Daniel, fazendo o seguinte comando, você busca as tags do servidor:

git fetch --all --tags

E para criar um branch a partir dessa tag, pode tem 2 opções:

git checkout v0.1.0 -b nome-do-branch

Ou

git switch -c nome-do-branch v0.1.0