Git: Renomear o branch ‘master’
Publicado; 01/04/2011 Filed under: git, tutorial | Tags: git, git-branch, git-checkout, git-push Comentários desativadosDigamos que seu projeto vai ganhar uma reescrita, uma refatoração pesada, atualização do framework (rails 2 para rails 3) ou qualquer coisa que vá mudar o rumo do seu código de forma revolucionária. Enfim, cria-se um novo branch e começa a brincadeira. Neste tempo, seu master continua com atualizações, com correções de bugs, novos features, enfim, sua aplicação ainda está viva. Quando terminado o processo de refatoração, o merge com o branch principal, normalmente o master, acaba sendo uma dor de cabeça e a opção adotada algumas vezes é tornar o branch de refactoring no branch principal. Para este caso, vou explicar como renomear o branch de refactoring para o master e, claro, guardar o master para poder fazer ‘a caça as bruxas’ depois. Vou usar como base que estamos atualizando a versão do Rails 2 para Rails 3.
1. Vá para um branch qualquer, se não tiver, crie um;
$ git branch temp
$ git checkout temp
2. Renomear o branch master para rails2;
$ git branch -m master rails2
3. Renomear o branch de rails3 para o master;
git branch -m rails3 master
4. Remover o branch master remoto;
$ git push origin :master
5. Criar o branch master no repositório remoto;
$ git push origin master:refs/heads/master
6. Criar o branch rails2 no reposotório remoto;
$ git push origin rails2:refs/heads/rails2
7. Remover o branch rails3 no repositório remoto;
$ git push origin :rails3
Pronto, teoricamente quando a galera fizer o git pull, pegará o novo branch, mas eu recomento que remova o branch master local de cada máquina e pegar novamente;
$ git branch temp
$ git checkout temp
$ git branch -d master
$ git checkout -b master origin/master
Fontes:
http://www.dmo.ca/blog/20080307124544/
http://www.kernel.org/pub/software/scm/git/docs/git-branch.html
http://www.kernel.org/pub/software/scm/git/docs/git-checkout.html
http://www.kernel.org/pub/software/scm/git/docs/git-push.html
Truques de Ruby: DATA e __END__
Publicado; 05/03/2011 Filed under: ruby, tutorial | Tags: dicas, ruby, truques Comentários desativadosEm Ruby, temos algumas CONSTANTES GLOBAIS que facilitam nossa vida. Nesse post, lhes apresento DATA e __END__.
Normalmente os arquivos de scripts em Ruby são finalizados com EOF, mas você pode indicar onde será o fim do script, adicionando a constante __END__ e com isso, todo bloco abaixo de __END__ não será processado pelo Ruby como comandos da linguagem. Então, podemos usar a constante DATA, que é uma instância de File do arquivo de script atual, porém considerando apenas o conteúdo que está abaixo da constante __END__. Vejamos alguns exemplos para entender melhor como funciona
require "yaml"
obj = YAML::load(DATA)
p obj
__END__
---
-
name: Adam
age: 28
admin: true
-
name: Maggie
age: 28
admin: false
Neste post de onde peguei o exemplo acima, apresenta outro uso com sinatra.
ssh-copy-id no Mac OS X
Publicado; 24/02/2010 Filed under: tutorial | Tags: mac, ssh 2 Comments »Eu iria escrever toda uma história explicando porque desse script, mas desisti. Só quero agradecer ao MV pela dica e o script está aí, para copiar sua chave ssh pública para um servidor e fazer acesso ssh sem ter que digitar senha do usuário.
arquivo ssh-copy-id:
#!/bin/sh KEY="$HOME/.ssh/id_rsa.pub" if [ ! -f $KEY ];then echo "private key not found at $KEY" echo "* please create it with "ssh-keygen -t dsa" *" echo "* to login to the remote host without a password, don't give the key you create with ssh-keygen a password! *" exit fi if [ -z $1 ];then echo "Please specify user@host.tld as the first switch to this script" exit fi echo "Putting your key on $1... " KEYCODE=`cat $KEY` cat $KEY | ssh $1 "cat - >> ~/.ssh/authorized_keys" echo "done!"
Logo, para mandar sua chave para o servidor, basta:
$ ssh-copy-id usuario@endereco_ou_ip_do_servidor
Claro, você terá que digitar a senha do usuário do servidor pela última vez, se tudo funcionar…
Ah! Minha busca no google foi essa.





