out
19

Resolvendo problema com Bundler – snapsho ...

Esses dias me deparei com um problema ao utilizar o Bundler com Rails 3, erroneamente eu rodei comando:

 bundle install --deployment 

Com isso obtive o seguinte erro:

You have modified your Gemfile in development but did not check
the resulting snapshot (Gemfile.lock) into version control

Isto é um bug que foi reportado esses dias no projeto do Bundler que pode ser resolvido com este fix:

rm -rf .bundle && bundle install

ago
09

Git – Removendo tags do repositório ...

Uma forma de criar uma marcação no Git seja para documentar uma modificação importante ou para marcar uma versão é usar o comando “tag”. Caso você se depare com o problema de remover uma tag criada acidentalmente no repositório fica aqui a dica de como corrigir.

Imaginando que após alguns commits queremos criar uma tag fariamos isto:

git tag -a beta0.1 -m “Primeira versão beta”

Continuamos trabalhando e após mais alguns commits fazemos novamente:

git add . & git commit -am “Incluindo arquivo README”
git tag -a beta1.0 -m “Mais uma versão beta” 
git push origin master
git push --tags
Counting objects: 6, done.
...
To git@github.com:mauriciodeamorim/testes_com_tags.git
 * [new tag]     	beta0.1 -> beta0.1
 * [new tag]     	beta1.0 -> beta1.0

Aqui cometemos o erro de criar outra tag numa sequência diferente da inicial e enviamos ao repositório.

Olhando nossa árvore no Gitk temos:


Em nosso repositório no GitHub ficou assim:


Então vamos considerar que a tag válida é a primeira “beta0.1” , então apagaremos a tag beta1.0 do repositório e depois localmente.

git push origin :beta1.0
git tag -d beta1.0

Agora olhando tanto para o GitK quanto para o repositório temos tudo em ordem novamente.

Outros comandos

Envia uma tag de cada vez ao repositório git push origin beta0.1
Envia todas as tags ao repositório git push – - tags
Envia commits e tags de uma só vez ao repositório git push origin master – - tags
Lista as tags existentes git tag
Descreve a tag e quantos commits temos após ela git describe
Mostra a tag e commit detalhadamente git show beta0.1
Mostra a tag detalhadamente git tag -v beta0.1

Referências:
Git Ready
Github – Working with remotes

jul
12

Manipulando branches remotos com Git ...

Reorganizando meus projetos no Github me deparei com o problema de ter criado muitos branches locais e remotos e tudo estava uma grande bagunça. Os comandos que me ajudaram a resolver isto foram:

Dado os branches locais

macos-snow ~/project (master) git branch
* master
  fix_counter
  rails3-version

Para criá-los remotamente use

macos-snow ~/project (master) git push --all

Ou para um branch específico

macos-snow ~/project (master) git push origin rails3-version

Para apagar branches locais

macos-snow ~/project (master) git branch -D rails3-version

Para apagar branches remotos

macos-snow ~/project (master) git push origin :rails3-version

Renomear branches locais

macos-snow ~/project (master) git branch -m old_branch new_branch

As referências que encontrei para renomear branches remotos não me foram úteis por isso fiz da forma mais prática renomeando o branch local, enviando para repositório e apagando o branch remoto antigo.

Referências:
- Help Github
- Git ready