Para desenvolvedores da plataforma .Net que migraram, ou também usam, o Git, uma grande dúvida é usar o console ou alguma GUI, client.
Existe melhor uso ou pior? Perde-se algo? Continue lendo aqui…
Git
O Git é um versionador de código fonte criado no Linux. Portanto é natural que o seu modo de iteração primário seja o terminal, ou console no Windows. Tudo o que pode ser feito nele, pode ser feito via console.
Porém existem alguns clientes, ou interfaces gráficas para o Git, que não são o Git propriamente dito. São interfaces de comunicação com o Git. Para desenvolvedores Microsoft, que estão normalmente acostumados com janelas (!), ter uma interface gráfica parece ser essencial. Normalmente usava-se o Source Safe, da Microsoft, apareceram opções com o SVN, com a conhecida UI Tortoise SVN, e por aí vai. O uso do mouse reclama por uma UI.
É por isso que a primeira pergunta que se faz quando começasse uma discussão para iniciantes no Git é: tem interface visual/gráfica?
Iniciantes
O Git não é trivial, ele exige uma entendimento do seu funcionamento para poder entender algumas de suas ações. Por isso eu gosto de iniciar o conhecimento dele pelo console. Se você aprendeu a usar o Git, a entender o seu funcionamento, a pesquisar ações disponíveis, no console, você conseguirá utilizar qualquer cliente.
O comando git traz os comando e você entendendo o encadeamento possível, irá conseguir navegar entre as ações.
Porém algumas situações pedem uma visualização diferente do que o console pode oferecer. Se você quer percorrer o histórico pode executar:
git log --oneline
E você terá a mensagem relativa a cada commit. Existe até a opção de mostrar no console o grafo entre branchs usando a opção –graph, neste mesmo comando. Mas seu eu quiser ter tudo isso (1), mais os arquivos alterados (2), o diff entre o código inserido (3), posso utilizar o comando gitk e ter o resultado abaixo:
Essa ferramenta nativa do Git, traz algumas informações gráfica de uma maneira mais conveniente.
Visual Studio
O Visual Studio tem evoluído bastante o seu suporte ao Git. Até o Update 1 da versão 2015, podemos ver que temos praticamente as mesmas informações que a ferramenta gitk retorna, porém a facilidade de visualizar o diff entre commits ainda não está facilmente disponível.
Dobradinha UI com console
Saindo da discussão purista de que se deve utilizar o console somente, vou colocar que eu uso o console, para ações triviais como commit, e algum client para ações como visualizar o histórico, e fico alternando com ALT + Tab. No Visual Studio a ferramenta History me atende, porém quando estou no VS Code, costumo usar algum outro client. O que também me ajuda a no dia a dia como consultor, para conhecer novas ferramentas.
SourceTree
Criado pela Atlassian, é um cliente visual e FREE, que gosto muito. Versões para Mac OS e Windows. Passado alguns dias ele pede para registrar, e para isso só é preciso colocar o seu nome e e-mail para gerar um Id.
O visual é limpo e agradável, diferente do gitk. Ele tem suporte a muitas ações do Git, inclusive o Gitflow (vamos falar sobre ele em um próximo post, aguarde). O grafo é bastante interessante já que é possível selecionar uma branch, destacando assim o seu histórico.
Para download https://www.sourcetreeapp.com/
GitKraken
Como eu disse, parte do meu trabalho é conhecer novas ferramentas. O GitKraken, lançado recentemente pela Axosoft, é a que estou testando no momento. Tem tanto suporte quando o SourceTree, e como utilizado o console, ainda não sei se algo não está implementado, mas o Gitflow já está. O visual é moderno e descolado. O grafo tem uma apresentação bem interessante.
Está em open BETA, e tem versões para Mac OS, Windows e Linux; e também é uma ferramenta FREE.
Para download http://www.gitkraken.com/
Seja console ou via UI, o Git permite grande liberdade de escolha de ferramentas. Sempre terá uma mais aderente ao que você precisa, mas… conheça o console, ele pode te ajudar em várias situações.
Emmanuel Brandão