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.

2016-03-21 04_30_43-posh~git ~ MusicStore [dev]

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

2016-03-21 04_34_57-posh~git ~ MusicStore [dev]

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:

2016-03-21 04_40_20-MusicStore_ All files - gitk

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.

2016-03-21 04_46_11-MusicStore - Microsoft Visual Studio

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.

hero_win_all[1]

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.

2016-03-21 05_07_07-GitKraken

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