Para instalar o git rode no terminal (Ubuntu):
$ sudo apt-get install git
A configuração do git fica guardada no arquivo .gitconfig na home do usuário. Você pode configurar o git editando esse arquivo manualmente, porém, recomento usar o comando git config pelo terminal que editará o arquivo pra você, e irá manter o padrão correto de configuração do arquivo.
Para manter a configuração de todos os seus projetos a mesma, utiliza-se o argumento --global.
Usuário
As configurações do usuário são importantes para identificar quem fez as alterações nos arquivos. Para quem usa o github, o e-mail configurado aqui deve ser o mesmo cadastrado no site, para que ele te identifique e relacione seus commits a você, além de colocar as informações cadastradas no gravatar, como sua foto.
$ git config --global user.name "Hugo Maia Vieira"
$ git config --global user.email "hugomaiavieira@gmail.com"
Cores
O uso de cores facilita bastante quando você vai ver alguma informação. Para facilitar a visualização do branch, diff, grep e status você pode ativar o uso de cores para esses comandos do git.
$ git config --global color.ui auto
Assim, ao rodar o git status, por exemplo, você vai ver os arquivos modificados adicionados e não adicionados ao commit em verde e vermelho respectivamente.
Editor
Ao fazer qualquer interação que precise de alguma entrada de texto, por exemplo um commit, o editor que você configurar aqui será aberto para você escrever, neste caso, a descrição do que foi alterado. No meu caso eu uso o vim.
$ git config --global core.editor vim
Abreviações/Apelidos
Algumas pessoas preferem usar abreviações em vez de digitar o nome do comando inteiro. Eu particularmente acho desnecessário, pois o comandos são curtos e o tab também ajuda bastante, mas para quem gosta ai vai um exemplo no estilo SVN
$ git config --global alias.br branch
$ git config --global alias.ci commit
$ git config --global alias.co checkout
$ git config --global alias.st status
Essas são apenas as configurações mais básicas. Para mais informações sobre outras diversas configurações existentes veja a documentação.
Nota: Este post estava no meu blog antigo e não tive como trazer os comentários. Seguem o bom comentário que lá estava:
- Hugo Lopes Tavares
Aprendi um alias muito interessante com uma apresentação que o Gabriel Lima me enviou por e-mail:
git config --global alias.gl "log --graph --pretty=oneline --abbrev-commit"
O que isso fará é um log, mostrando um gráfico com contrabarras e pipes de merges, apenas uma linha com as informações do commit (hash e mensagem do commit) e fará uma abreviação do hash. Assim, um no should-dsl eu tive, entre outras mensagens:
$ git gl
* e7ce5fe should.thrown added
* 5044b8b obsolete comments removed
* 1bee06e matcher added: equal_to_ignoring_case
* 2674658 updated version
Abração!
tô com uma dúvida bem + simples. é o seguinte: defini o ‘gedit’ como meu editor de commits; no terminal, ao digitar ‘git commit -a’, o gedit é aberto; digito as alterações, salvo, porém o commit não é ‘efetivado’… o que eu tenho de fazer para efetivamente ‘comitar’ ?
ResponderExcluirPaulo,
ResponderExcluirPelo que entendi, fazendo alguns testes, quando você commita (roda o git commit) o git espera que:
1. Seja iniciado um novo processo que bloqueia o processo do git
2. O processo bloqueante seja finalizado
3. O arquivo de mensagem do commit tenha sido modificado
Ele tem que executar todos esses passos, se não, o commit não será realizado com sucesso.
Se seu editor for o gedit, e já tiver uma instância do gedit aberta, o passo 1 não será completado. O processo do gedit já estará rodando e não irá bloquear o processo do git, que irá continuar seu fluxo, verificando que o arquivo de mensagem do commit não foi modificado. Assim, o git não completará o commit e retornará a seguinte mensagem: "Aborting commit due to empty commit message" (Abortando commit devido a mensagem de commit vazia).
Se o gedit não estiver aberto, irá funcionar normalmente. O gedit será aberto, você digita a mensagem, salva o arquivo e fecha o gedit (tem que fechar o gedit e não apenas a aba em que o arquivo foi aberto). Pronto, commit feito.
Eu recomendado que seja usado um editor que abra no próprio terminal (vim, nano, ...), pois dessa forma o processo do git sempre será bloqueado e você não terá problemas.
Recomendo ainda mais que você use a opção -m onde você passa como argumento a mensagem de commit. Por exemplo:
git commit -am "Mensagem do commit"
Com isso você não perde o tempo de abrir um editor, salvar a mensagem e fechar o editor.
Curiosidade: Nos testes, eu configurei o Opera como editor do git. Quando dei o commit, o Opera abriu o arquivo de mensagem do commit e bloqueou o processo do git. Abri o arquivo no gedit, modifiquei a mensagem, salvei e fechei o Opera. Ao fechar o Opera, desbloqueie o git, que verificou que o arquivo tinha sido modificado e o commit funcionou normalmente.
Abraço!
Percorrendo o google achei um alias muito bom, para log também, um pouco mais completo do que o Hugo Lopes mostrou:
ResponderExcluirgit config --global alias.lg "log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative"
Além de mostrar o que o Hugo Lopes falou (com cores diferentes) mostra também a quanto tempo foi o commit e o autor. Saída com o should-dsl:
$ git lg
| * | | 0731fc5 - Remove python logo from should-dsl logo (8 months ago) <Hugo Maia Vieira
* | | | ba68d35 - removed border from the last menu item (8 months ago) <Hugo Lopes Tavares
* | | | 559af04 - removed that old suck**g renapi logo (8 months ago) <Hugo Lopes Tavares
Fala Bernardo!
ResponderExcluirRapaz eu uso esse alias. Tá até no afterFormat.
Esqueci de atualizar o post.
Valeu!