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?