VidaGeek.net

Linux, Open-source, Programação e Produtividade

Archive for the ‘Dicas’ Category

O post de hoje é do nosso amigo Lucas Cavalcanti, desenvolvedor da Caelum.

Usando git, sempre é bom trabalhar em branches, nunca commitar diretamente na branch master.

Acontece que às vezes você simplesmente esquece de criar uma branch antes de começar a trabalhar
e commita várias coisas no master. O problema disso é que se você der um git pull origin master
e acontecer um conflito de merge, você vai ter que resolver todos os conflitos de uma vez só,
e ganhar um commit “Merge branch blablablah” que some com algumas informações de commit…

O que fazer então?

Um jeito legal de prevenir isso é digitando os comandos:


(master) $ git branch temp
# cria uma branch pra guardar o estado atual


(master) $ git reset --hard HEAD@{1}
# volta o estado do branch master para a última
# ação perigosa que você fez, geralmente
# o último push que vc fez no servidor


(master) $ git pull origin master
# agora sim fazendo um pull seguro


(master) $ git checkout temp
(temp) $ git rebase master
# e corrige os eventuais conflitos do jeito certo


(temp) $ git checkout master
(master) $ git merge temp
(master) $ git push origin master
(master) $ git branch -d temp

Assim você corrige a cagada de trabalhar no master sem querer e continua a trabalhar com o git
do jeito certo.

Posts Relacionados:

  • Git Workflow
  • Como migrar de SVN para GIT
  • Como exibir branch atual do git
  • Como descobrir todos que commitaram em um repositório SVN
  • Auto refresh no eclipse
  • YACP - Aprendendo a usar suas ferramentas
  • Ambiente aberto de Xadrez Online
  • Acompanhe-nos por RSS, por Email ou via Twitter.
    Veja como ter um desconto no Dreamhost: um excelente servidor web.

  • 0 Comments
  • Filed under: Dicas, Programacao
  • Fazendo fontes com carros

    Dois artistas, um piloto profissional, um software de captura de imagens e um carro é tudo que você precisa para criar uma fonte. Sim, a idéia chama-se IQ-Font, e foi com ela que escrevi o endereço desse blog aqui embaixo.

    vida-geek-car-font

    Veja o vídeo e se surpreenda com como essa fonte foi criada.

    iQ font - When driving becomes writing / Full making of from wireless on Vimeo.

    Aos outros escritores desse blog, o que acham de usarmos essa fonte para o nome do blog no nosso novo layout que está a caminho..ups.. falei :-)

    Posts Relacionados:

  • FISL 9.0: Jornalismo Livre
  • Configuração de caminhos no LaTeX
  • FISL 8.0
  • Um dia na vida de um programador azarado
  • Microsoft e reconhecimento de voz
  • VidaGeek.net agora também é Fórum!
  • Hospedagem
  • Acompanhe-nos por RSS, por Email ou via Twitter.
    Veja como ter um desconto no Dreamhost: um excelente servidor web.

    Como exibir branch atual do git

    Umas das coisas legais que bash tem é uma variável que define como deve ser o prompt da linha de comando. Essa variavel de ambiente se chama PS1. Um dos usos mais incríveis que já vi dela foi o de mostrar em qual branch do git você está (e não mostrar nada quando você não está em um repositório).

    Isso é a diferença entre

    terminal que não mostra o branch

    e isso

    terminal que mostra o branch

    Não sei quanto a vocês, mas eu realmente fico mais feliz com a segunda forma.

    A minha variável PS1 é configurada da seguinte forma (mac - ~/.bash_profile - linux - ~/.bashrc):

    export PS1="\[\033[38m\]\u\[\033[32m\] \w \[\033[31m\]\`git \\
    branch 2>/dev/null | grep \"^\*\" | \\
    sed -r \"s/\*\ (.*)/ \(\1\)/\"\`\[\033[37m\]$\[\033[00m\] "
    

    Impossível de ler, correto? Vou quebrar em mais linhas para facilitar a vida.

    PS1="\[\033[38m\]\u";
    PS1="$PS1\[\033[32m\] \w";
    PS1="$PS1\[\033[31m\]";
    PS1="$PS1\`git branch 2>/dev/null | grep \"^\*\" | \\
                               sed -r \"s/\*\ (.*)/ \(\1\)/\"\`";
    export PS1="$PS1\[\033[37m\]$\[\033[00m\]";
    

    Não testei, mas deve ter o mesmo efeito. Explicando um pouco da mágica:

    1. Essa sequência bizarra de caracteres (\[\033[38m\]) é a forma de definir que o que virá depois será impresso em branco, num terminal que permite coloração (o que realmente define a cor é o 38m. O resto é apenas a forma de indicar a mudança de cor). “\u”, na PS1, significa o usuário atual.
    2. A próxima sequência de caracteres bizarros troca a cor para verde. “\w”, na PS1, é o seu path atual.
    3. Troca a cor para vermelho.
    4. Extrai o nome do branch (sendo executado em uma subshell. Para isso que servem os \`).

      1. git branch 2>/dev/null: Imprime todos os branches do repositório onde você se encontra. Caso ocorra algum erro, a mensagem de erro será enviada para /dev/null, vulgo limbo (por isso nada será impresso nos outros diretórios).
      2. grep “^\*”: Me dá todas as linhas começadas por * .
      3. sed -r \”s/\*\ (.*)/ \(\1\)/\”: Novamente o grande monstro sed salva o dia. A regex que está ali pega o que vêm depois do espaço que está depois do * e imprime com parenteses em volta.
    5. Muda a cor para branco, imprime $ (apenas para marcar o fim do prompt) e para de brincar com as cores do terminal, devolvendo o controle à shell.

    A versão anterior que eu usava da PS1 usava ruby pra fazer essa mágica toda, mas dessa forma não depende mais do ruby instalado na máquina.

    Posts Relacionados:

  • Como desfazer commits na branch errada no Git
  • Git Workflow
  • Auto refresh no eclipse
  • Como migrar de SVN para GIT
  • Como descobrir todos que commitaram em um repositório SVN
  • Ambiente aberto de Xadrez Online
  • Truques do Bash
  • Acompanhe-nos por RSS, por Email ou via Twitter.
    Veja como ter um desconto no Dreamhost: um excelente servidor web.

  • 0 Comments
  • Filed under: Dicas, Programacao
  • Já não dá mais para chamar de nova a idéia de que o atual avanço tecnológico tornou mais fácil produzir todo tipo de conteúdo. A literatura está farta de títulos que desmantelam o assunto, tanto densos como o famoso Wealth of Networks de Yochai Benkler (Riqueza das Redes em português) até os mais “mastigados” como em Wikonomics de Don Tapscot, tentam explicar como temos avançado na produção de cultura, principalmente de maneira colaborativa e distribuída.

    Entretanto, ainda que essa colaboração, a internet e principalmente o moderno computador pessoal estejam ai, a cultura dominante ainda não é a de produção, mas sim a de consumo. Foi em uma conversa que tive hoje a noite com Lucas Porto (um grande amigo), que acabamos por encontrar uma curiosa relação entre um outro conjunto de idéias que ao nosso ver pode contribuir para incentivar a produção, é a corrente do Viver Bem com Pouco.

    A discussão desse assunto é bem extensa, ao contrário de elaborá-la, decidi reunir um pequeno conjunto de trocas e mudanças que apliquei a minha vida no último ano, e que acabam por resolver curiosamente ambos os problemas.

    Noite da Culinária X Sair para Jantar

    Reunir os amigos para sair é sempre um problema, primeiro tem todo uma logística para botar todo mundo no mesmo bar/restaurante e depois tem sempre o problema do preço. Todos somos universitários e para nós os restaurantes aqui em São Paulo costumam oferecer contas generosas. Foi pensando nisso, e também na diversão de aprender a cozinhar, que em setembro do ano passado comecei a receber amigos em casa para as Noites da Culinária. Ainda não chegamos no nível de criar nossas próprias receitas, mas sempre temos alguma oportunidade de inovar, trocar alguns ingredientes e testar o resultado (as vezes desastroso).

    Caderno de Notas X PDA

    Durante muito tempo eu tive um Motorola Q, um daqueles smartphones com acesso a internet em toda a cidade. O objetivo do dispositivo era me manter ligado na web, bem como servir de caderno de notas. A verdade é que acabei enjoando dele e decidindo arranjar algo mais novo como um famoso Iphone (consumismo exacerbado). Foi quando ganhei de um amigo um caderno de notas (um Moleskine :-) que acabei descobrindo ter páginas especiais para desenho. Resultado, meu celular + notebook continuam sendo mais do que suficientes para me manter cuidando dos meus afazeres (conectado), e ao invés de um complexo dispositivo para manter anotações e que me faria apenas consumir conteúdo, tenho agora um elegante caderno que até mesmo uso para desenhar . O mais legal, descobri que adoro fazer isso e o tempo que gastava lendo emails no meu PDA a cada 5 minutos, gasto agora a rabiscar fachadas de prédios e objetos quadrados (quem sabe um dia chego nas esferas).

    Jogar RPG X Ir ao Cinema, Teatro ou ler um Livro

    Sempre fui jogador de Role Playing Games (RPG) , desde os 9 anos. Nunca dispensei nenhum bom livro, tão pouco uma mostra de cinema ou uma peça de teatro. Só que nesses lugares sempre consumo, assim como quando ouço música e nunca produzo nenhum conteúdo novo. Na mesa de rpg, entretanto, eu e amigos criamos histórias, personagens e até mesmo já passamos meses criando mundos. Essa atividade já produziu muitas coisas bacanas, amadoras, e nenhuma publicada. Mas idéias como as de editar um livro com nossas melhores aventuras, ou até mesmo investir em jogos online baseados no enredo de mundos que criamos tem começado a ser colocadas em prática.

    Se você já fez alguma troca como essa, conte para nós nos comentários. Pessoalmente, estou tentando chegar em um conjunto mínimo de objetos pessoais (até porque estou indo morar na França, e não quero levar muita tralha). Não estou nem um pouco interessado em chegar nas 100 things do desafio de David, e na verdade estou muito mais procurando “interfaces” como o papel e o lápis que não só me permitam consumir, mas também produzir. Mas qualquer sugestão é bem vinda.

    Posts Relacionados:

  • Oito (ou dez) coisas que todo geek precisa pra produzir mais
  • O Iogurte Indutivo
  • Dia C - Usando testes para o desenvolvimento
  • Configuração de caminhos no LaTeX
  • Algoritmos Humorísticos - TEC Algorithm
  • Como remover os malditos .svn
  • Por tudo que é sagrado, escrevam testes!
  • Acompanhe-nos por RSS, por Email ou via Twitter.
    Veja como ter um desconto no Dreamhost: um excelente servidor web.

  • 2 Comments
  • Filed under: Dicas, Opiniao