Interfaces gráficas para trabalhar com git

Prof. Dr. Walmes M. Zeviani (LEG/DEST/UFPR)
04 de Agosto de 2015



Motivação

  • Git tem muitos comandos. Difícil memorizar;
  • Alguns são usados raramente;
  • Interatividade do terminal é limitada;

O que é complicado no terminal?

  • Fazer git add para muitos arquivos separadamente;
  • Saber o que foi modificado em cada arquivo antes de git commit;
  • Fazer git commit para grupo de arquivos;
  • Comparar diferenças entre commits/branches;
  • Voltar o projeto para um commit específico;

GUIs para auxílio com git

rabbitVCS

O que é o rabbitVCS

  • É um conjunto de pluggins para o navegador de arquivos (nautilus, nemo, etc);
  • Sinaliza o estado dos arquivos nos seus ícones;
  • Menu com ações git no botão direito do mouse;

Instalação

sudo add-apt-repository ppa:rabbitvcs/ppa &&
sudo apt-get update &&
sudo apt-get install \
    rabbitvcs-cli rabbitvcs-core rabbitvcs-gedit rabbitvcs-nautilus3 \
    -y

git gui

O que é a git gui?

  • Vem junto com o git;
  • Tem na interface os comandos usados no terminal;
  • Permite ver as modificações em cada arquivo, agrupar para commit;
  • Menu incluí quase que tudo que se pode fazer na linha de comando;

Instalação

sudo apt-get install git git-core git-man git-doc git-gui -y

gitk

O que é a gitk?

  • Outra interface para git;
  • Acesso ao histórico dos ramos;
  • Voltar o projeto para versões anteriores;
  • gitk é tcl/tk, gitg é Gtk+;

Instalação

sudo apt-get install gitk -y

meld

O que é o meld?

  • É uma difftool. Existem várias, e.g. kdiff3;
  • Permite comparar lado a lado versões de um arquivo;
  • Passar conteúdo de um lado para outro;

Instalação

sudo apt-get install meld -y

Uso

git difftool -t meld HEAD..origin
git difftool -t meld HEAD..issue/3