Error Tracking

Este post é mantido quase como uma wiki para prover dicas rápidas em GIT, muito para meu próprio uso de pequenos problemas que tenho de resolver no dia a dia com a gestão de códigos-fonte dos projetos que estou envolvido.

GIT dicas rápidas



Configurar a ferramenta de merge

Para configurar a ferramenta padrão de merge, que em Linux é o diffuse, utilize o comando config e o parâmetro merge.tool

git config --global merge.tool meld

Neste exemplo o programa de diferenciação meld está sendo definido como o software padrão de merge para o git, caso não o tenha instalado, utilize o comando a seguir em sistemas baseados no Debian (Ubuntu, Linux Mint, etc):

sudo apt-get install meld

Persistindo as credenciais em cache

Quando se está trabalhando com origens de repositório pelo protocolo https, é necessário frequentemente entrar com nome de usuário e senha, ou somente a senha. Para evitar por um período de tempo esta repetição massante, é possível armazenar as credenciais usadas no projeto em um cache temporário.

No exemplo a seguir estamos armazenando por um tempo de 300 segundos, quando estou trabalhando gosto de usar este valor com um tempo maior, pois geralmente estou em meu computador pessoal de trabalho.

git config credential.helper 'cache --timeout=300'

Referências:

  1. Git credential cache

PULL – ignorando as alterações locais

Em várias ocasiões é necessário fazer um PULL do repositório remoto (upstream), porém algumas alterações no diretório de trabalho existem e você não deseja mantê-las.

Para descartar alterações locais e realizar o pull, execute a sequência de comandos a seguir:

git reset --hard origin/master
git pull origin master

Este comando irá forçar um reset para que o HEAD corrente aponte para um estado específico, no caso estamos indicando o ramo master no repositório remoto. Pode-se alterar o ramo como desejado. A seguir executamos o pull, porém, de forma redundante pois para posicionar o HEAD em um estado do repositório remoto o próprio GIT foi forçado a fazer um fetch / pull para isso.

Referências:

  1. Git desfazendo as coisas
  2. git discard all changes and pull from upstream
  3. Git Pull While Ignoring Local Changes?

TAG – removendo uma tag

Para remover uma determinada tag, por qualquer motivo, é necessário excluí-la localmente e também no repositório remoto. Existem várias sequências de comandos que podem ser utilizadas, porém, para mim, uma das formas mais fáceis é utilizar a seguinte:

git tag -d release01
git push origin :refs/tags/release01

Imaginando que release01 seja o nome da tag, o primeiro comando com a opção -d exclui a tag local, e na sequência um push “informa” o repositório remoto de que esta referência de tag não deve mais existir.

Referências:

  1. How do I remove or delete a tag from a Git repo?

Pin It on Pinterest

Share This

Share This

Share this post with your friends!