GUI para GIT semelhante ao SourceTree

133

Existe um software semelhante ao SourceTree , uma GUI para git, para Linux? Eu sei sobre Giggle, git cola, etc. Estou procurando uma GUI bonita e fácil de usar para git.

Glen Solsberry
fonte
1
Existem GUIs para o git, sim. Quais recursos você espera desse programa? Não assuma que as pessoas já ouviram falar do SourceTree.
Gilles
@Gilles adicionou um link a sourcetree. Estou procurando suporte geral ao git, mas algo que seja fácil de usar e fácil de visualizar.
Glen Solsberry
4
Consulte os seguintes links: [Cliente GI da GUI para Linux] [1] [Uma GUI bonita e rica em recursos do git para Linux] [2] [1]: stackoverflow.com/questions/1516720/git-gui-client-for- linux [2]: stackoverflow.com/questions/2141611/…
Dejian 18/09/12
2
Algo errado com as interfaces padrão: git guimais gitk?
Ire_and_curses 18/09/12
2
e quanto ao gitg?
tsusanka

Respostas:

72

Uma boa alternativa é o SmartGit . Possui recursos muito semelhantes ao SourceTree e criou resolução de conflitos em três colunas, logs visuais, puxar, empurrar, mesclar, sincronizar, marcar e tudo mais git :)

neolaser
fonte
1
+1 Eu gosto do SmartGit e acho que é o guit git mais avançado para linux. No entanto, a preparação é muito mais clara no SourceTree . Por outro lado, a fusão de três vias e a solução de conflitos é muito melhor no SmartGit . O SourceTree suporta apenas ferramentas externas para solução de conflitos.
sulai 10/0314
29
Infelizmente, o SmartGit NÃO é de código aberto.
landroni
E também acho que está realmente sobrecarregado. Eu acho que eles não poderiam caber mais janelas divididas na GUI. Parece que funciona bem com Linux, mas não há integração OS (por exemplo, adicionando atalhos)
xXx
3
O @landroni SourceTree também não é de código aberto; caso contrário, alguém já o teria portado no Linux.
Tobia 28/05
1
O SmartGit é a coisa mais próxima do SourceTree que temos na plataforma Linux, mas não é tão boa. O que eu mais sinto falta é que não há verificação ortográfica (em mensagens de confirmação) e exibição em árvore (em arquivos).
Ashesh Kumar Singh
43

tl; dr: GitEye = interface de usuário mais intuitiva, fluxo de trabalho mais rápido, altamente personalizável


Há muito tempo que uso o TortoiseHg Workbench poweruser e adoro isso, então, naturalmente, meus critérios completamente opinativos se baseavam principalmente nele:

* full history visible in main window
* beautiful tree (DAG), branches CLEARLY separated
* current branch clearly visible in history
* superclear list of changed/added files (list + diff detail)
* each changed/added file can be committed separately (or in groups)
* current branch clearly visible while committing
* clear push/pull etc buttons
* shelve = stash {not to be confused with patches}
* revert
* graft = cherry pick
* max git features
* HiDPI support
* all changes become visible on refresh
* refresh shortcut

Eu testei os seguintes aplicativos:

  • git-cola
  • GitEye
  • GITK
  • git-gui
  • QGit
  • rir
  • tig
  • SmartGit
  • gitg
  • RabbitVCS
  • GitKraken
  • GitX
  • git-dag
  • Bazaar Explorer + bzr-git
  • TortoiseHg + hggit (melhor interface do usuário, o hggit não funciona)

Resultados

A maioria dos clientes GUI do git testados são completos ****, abaixo estão 2 dos melhores e 1 que não é tão **** quanto os outros.

lenda

- = feature missing or so **** it doesn't count
~ = feature somewhat matches my requirements
+ = feature works like I want :)

1º lugar: GitEye

interface de usuário mais intuitiva, fluxo de trabalho mais rápido, altamente personalizável

~ full history visible in main window [in a separate tab, same UI pattern facilitates looking at the history of separate files]
+ beautiful tree (DAG), branches CLEARLY separated
+ current branch clearly visible in history
+ super clear list of changed/added files (list + diff detail)
+ each changed/added file can be committed separately
+ current branch clearly visible while commiting
+ clear push/pull etc buttons
+ shelve = stash [Stashes clearly visible in sidepane]
+ revert
+ graft = cherry pick
+ max git features
~ HiDPI support
+ all changes become visible on refresh
- refresh shortcut [you can set one, but it won't work. bug?]

Nota: se a visualização Arquivos Git parar de funcionar com você, use a visualização Git Staging semelhante.

2º lugar: SmartGit

belo arquivo integrado diff. cometer obscuro, histórico oculto, requer uma licença

~ full history visible in main window [separate window, I found myself constantly confusing both windows]
- beautiful tree (DAG), branches CLEARLY separated
- current branch clearly visible in history
+ super clear list of changed/added files (list + diff detail)
~ each changed/added file can be commited separately [UI not clear enough]
- current branch clearly visible while commiting
+ clear push/pull etc buttons
+ shelve = stash 
+ revert
+ graft = cherry pick
+ max git features
+ HiDPI support
+ all changes become visible on refresh [refreshes automatically]
+ refresh shortcut [refreshes automatically]

3º lugar: QGit

belo histórico claro, confirme comandos UX confusos, leves e personalizados

+ full history visible in main window
+ beautiful tree (DAG), branches CLEARLY separated
+ current branch clearly visible in history
~ super clear list of changed/added files (list + diff detail) [doesn't show new files in main window]
- each changed/added file can be committed separately
- current branch clearly visible while committing
~ clear push/pull etc buttons [could be added via custom commands]
- shelve = stash 
- revert 
- graft = cherry pick
- max git features
+ HiDPI support
~ all changes become visible on refresh [except for new files]
+ refresh shortcut

Menção honrosa: GitKraken

Ainda está em fase de desenvolvimento (1.5.1 ainda falta o suporte ao HiDPI), mas faz o trabalho básico. Isso poderia competir facilmente com o GitEye e o SmartGit. É melhor que o QGit, com certeza.

Todo o resto:

Estou decepcionado com o tipo de merda feita para passar como cliente git. Eu acho que seus autores acham que é mais eficiente fazer coisas simples todos os dias na linha de comando e eles basearam seus clientes nesse fluxo de trabalho ineficiente.

allanlaal
fonte
2
Grande desvantagem para o GitEye: cria um arquivo .project em cada repositório único que ele precisa inspecionar?
Nilzor 17/03/16
3
Ontem, o GitKraken 1.0 foi lançado . Talvez seja uma boa hora para tentar?
EP
@ Nilzor basta adicioná-lo ao seu arquivo .gitignore, como todos os outros arquivos IDE que você já possui. Problema resolvido.
allanlaal
Grande ajuntamento! Mas - GitEye e fluxo de trabalho rápido? Realmente? Na minha máquina (um MacBook decente), o GitEye está terrivelmente lento. Tão demorado que nem me importei em ver quais recursos ele possui. O GitKraken parece a única opção viável para mim. UI atualizada, rápida, ainda sendo mantida. Mas eu odeio modelos de assinatura, então provavelmente usarei a versão gratuita para projetos pessoais.
AndyO
1
+ AndyO: Sim, as coisas são tão ruins que o GitEye seria o vencedor dessa pilha de ***. O GitKraken não funciona em telas HiDPI, portanto, usá-lo com um microscópio é mais lento para mim. Eu tento sempre usar Mercurial em vez disso, você não pode bater TortoiseHg Workbench :) <guerra iniate> .. além Mercurial é melhor do que Git qualquer maneira </ iniate guerra>
allanlaal
19

GitEye é uma coisa muito boa. Além disso, grátis (como na cerveja).

thnee
fonte
13
Mmm. O GitEye é grande (~ 100Mb), baseado no eclipse e me cumprimentou com esta caixa de diálogo apenas navegando na minha árvore de trabalho. O que há com isso?!
precisa
Sim, eu sei que ele quer criar um projeto que parece estúpido. Eu não uso mais o GitEye. Somente terminal e git-cola nos dias de hoje.
thnee
A GUI parece um clone barato e ruim de sourcetree. Pelo menos a janela Git Files parece um pouco com isso.
xXx
15

O GitKraken é a melhor GUI do Linux para trabalhar com o git. É gratuito apenas para uso não comercial. Nenhum outro cliente GUI para linux corresponde a isso ao escrever esta resposta.

Você deve dar uma olhada uma vez.

Mayur Padshala
fonte
Já para não falar que é construído com Electron, por isso vai funcionar e visualmente a mesma aparência em Linux, Mac e PC :)
jay
3
Não é mais 100% gratuito, mas ainda é um bom cliente.
Chuu
12

Uma GUI GIT de código aberto cuja interface não é positivamente assustadora é gitg. No site do projeto :

O gitg é o cliente GNOME GUI para visualizar os repositórios git.

insira a descrição da imagem aqui

landroni
fonte
1
Não é assustador, também não é super rico em recursos. É uma versão gráfica dogit log --graph --oneline --decorate
four43
Além disso, só permitem decoração lado do cliente, sem apoio fallback, tão inútil para qualquer WM que não suportam então
higuita
4

Se você pode usar qualquer IDE JetBrains ( https://www.jetbrains.com/ ), eu recomendo que você faça isso. Eles têm uma interface gráfica bastante interessante para o git (e também para outros VCS) ... talvez não seja tão empacotada com recursos quanto os outros softwares mencionados aqui, mas funciona.

Além disso, o qgit funciona para mim. O único problema que encontrei foi quando tentei mudar para um tema GTK escuro (branco sobre preto).

zaantar
fonte
Como é a fusão de três maneiras para a resolução de conflitos?
22418 Jonathan
Um dos melhores que encontrei. Cobre perfeitamente todas as minhas necessidades. Não tenho certeza sobre outras variantes, mas o PHPStorm também faz análise estática na janela de mesclagem (a coluna do meio), para que você veja imediatamente possíveis problemas durante a mesclagem. A versão mais recente do EAP também permite confirmar apenas as linhas selecionadas do código.
zaantar
1
Depois de mais de dois anos de desenvolvimento ativo, só posso enfatizar novamente o quão incríveis são os produtos JetBrains (todos eles basicamente). E se eu precisasse absolutamente de uma GUI GIT alternativa, eu iria com o GitKraken.
precisa saber é
Eu concordo com @zaantar. Os produtos JetBrains têm a melhor e mais intuitiva integração git (imo), mas seu comentário selected lines of the codeé apenas parcialmente correto. Eles adicionaram o recurso para selecionar blocos para preparação no início deste ano, mas a seleção de linhas únicas (por exemplo, partes de um único pedaço) não é possível ( ainda, mas eles podem estar trabalhando nisso ).
Griddo