Qual é a melhor ferramenta de mesclagem visual para Git? [fechadas]
-
02-07-2019 - |
Pergunta
Qual é a melhor ferramenta para visualização e edição de uma mesclagem no Git? Eu gostaria de ter uma visão de mesclagem de 3 vias, com "meu", "deles" e "ancestral" em painéis separados, e um quarto painel "output".
Além disso, instruções para invocar a referida ferramenta seria ótimo. (Eu ainda não descobrir como iniciar kdiff3 de tal forma que ele não me dá um erro.)
Meu OS é o Ubuntu.
Solução
Meld é um diff ferramenta / merge.
Aqui está como instalá-lo em:
- Ubuntu
- Mac
- o Windows : "A versão recomendada do Meld para Windows é a versão mais recente, disponível como um MSI de http://meldmerge.org "
Outras dicas
Você pode configurar sua própria ferramenta de mesclagem para ser usado com "git mergetool
".
Exemplo:
git config --global merge.tool p4merge
git config --global mergetool.p4merge.cmd p4merge '$BASE $LOCAL $REMOTE $MERGED'
git config --global mergetool.p4merge.trustExitCode false
E enquanto você está nisso, você também pode configurá-lo como seu difftool para "git difftool
":
git config --global diff.tool p4merge
git config --global difftool.p4merge.cmd p4merge '$LOCAL $REMOTE'
Note que em Unix / Linux que você não quer que o $BASE
para se analisada como uma variável pelo shell -. Ele realmente deve aparecer em seu arquivo ~ / .gitconfig para que isso funcione
Beyond Compare 3 , o meu favorito, tem um funcionalidade merge no Pro edição . A coisa boa com sua fusão é que ele permite que você veja todos os 4 pontos de vista: base, esquerda, direita, e fundiu resultado. É um pouco menos visual do que P4V , mas muito mais do que WinDiff. Ele integra com muitos controle de origem e funciona em Windows / Linux. Ele tem muitas características como regras avançadas, edições, alinhamento manual ...
O Perforce Visual Cliente ( P4V ) é uma ferramenta gratuita que fornece uma das interface mais explícita para a fusão (ver alguns screenshots ). Funciona em todas as principais plataformas. Meu disappointement principal com essa ferramenta é o seu tipo de "read-only" Interface . Você não pode editar manualmente os arquivos e você não pode alinhar manualmente.
PS: P4Merge está incluído na P4V. Perforce tenta torná-lo um pouco difícil de obter a sua ferramenta sem seu cliente.
SourceGear comparação / integração pode ser meu segundo livre escolha ferramenta. Verifique se merge telas-shot e você verá que é tem o 3 visualizações, pelo menos.
Meld é uma ferramenta gratuita mais recente que eu prefiro SourceGear diff / Mesclar : Agora ele também está trabalhando na maioria das plataformas (Windows / Linux / Mac) com a vantagem de suportar nativamente algum controle de origem como Git . Então você pode ter algum diff história em todos os arquivos muito mais simples. A visão merge (ver imagem ) tem apenas 3 painéis, assim como SourceGear Diff / Mesclar . Isso faz com que a fusão um pouco mais difícil em casos complexos.
PS: Se uma ferramenta de uma suportes dia 5 visualizações fusão , este seria realmente incrível, porque se você cherry-pick commits em Git você realmente não têm uma base, mas dois. Dois base, duas mudanças, e uma fusão resultante.
A minha ferramenta favorita merge visual é SourceGear DiffMerge
- É livre.
- Cross-plataforma (Windows, Mac OS X e Linux).
- Limpo UI visuais
- Todos diff características que você esperaria (Dif, fundir, pasta Diff).
- interface de linha de comando.
- atalhos de teclado utilizável.
Eu ouvi coisas boas sobre kdiff3.
vimdiff
vim Uma vez que você aprendeu (e IMHO você deve), vimdiff é apenas mais um pouco bonito conceito ortogonal a aprender. Para obter ajuda on-line no vim:
:help vimdiff
Esta questão covers como usá-lo: Como eu usar vimdiff para resolver um conflito?
Se você está preso na idade das trevas de uso do mouse, e os arquivos que você está fusão não são muito grandes, eu recomendo fusão.
Você pode tentar P4Merge .
Visualize as diferenças entre as versões de arquivos com P4Merge. Resolver conflitos que resultam da paralela ou desenvolvimento simultâneo via código de cores.
As características incluem:
- Destaque e arquivo de texto editar diferenças
- Escolha para incluir ou ignorar terminações de linha ou espaços em branco
- Reconhecer convenções de delimitação de linhas para Windows (CRLF), Mac (CR) e Unix (LF)
- usar parâmetros de linha de comando e lançamento de aplicações não-Perforce
- números de linha de exibição quando comparar e mesclar arquivos
- Excluir arquivos que são modificados, única, ou inalterada
- Filtrar arquivos por nome ou extensão
- Organizar ativos modificados no arquivo familiarizado / pasta hierarquia
- Compare JPEG, GIF, TIFF, BMP e outros formatos de arquivo
- Estender usando a API do Qt
- Overlay imagens ou exibição de side-by-side
- diferenças destaque para imagens sobrepostas
IntelliJ IDEA tem um sofisticado conflito de mesclagem ferramenta de resolução com a magia Resolve varinha, o que simplifica a fusão:
difusa é o meu favorito, mas é claro que eu sou preconceituoso. :-) É muito fácil de usar:
$ diffuse "mine" "output" "theirs"
difusa é uma ferramenta pequena e simples texto merge escrito em Python. Com Difuso, você pode facilmente fundir, editar e analisar as alterações ao seu código. Difusa é software livre.
http://www.araxis.com/merge Eu estou usando-o em Mac OS X, mas eu usei-o em janelas ... não é livre ... mas tem alguns agradável apresenta ... agradável nas janelas embora.
Se você está apenas à procura de uma ferramenta de comparação além de comparar é muito bom: http: // www. scootersoftware.com/moreinfo.php
Você pode alterar a ferramenta usada por mergetool git passando git mergetool -t=<tool>
ou --tool=<tool>
. Para alterar o padrão (de vimdiff) uso git config merge.tool <tool>
.
Assim, para a mesclagem git, você pode tentar:
-
DiffMerge para comparar visualmente e arquivos de mesclagem no Windows, OS X e Linux.
-
Meld , é uma ferramenta de comparação e mesclagem visual.
- KDiff3 , um diff e programa), o que compara ou funde-se 2 ou 3 arquivos de entrada de texto / dirs.
-
opendiff
(parte do Xcode Tools no MacOS), um utilitário de linha de comando que inicia o aplicativo FileMerge do Terminal de arquivos ou diretórios graficamente comparar, incluindo .
Eu tentei um monte de ferramentas mencionado aqui e nenhum deles tem muito sido o que eu estou procurando.
Pessoalmente, eu encontrei Atom ser uma grande ferramenta para a visualização de diferenças e resolução de conflitos / fusão.
Como para a fusão, não há três pontos de vista, mas está tudo combinado em um com colorido destacando para cada versão. Você pode editar o código diretamente ou existem botões para usar qualquer versão desse trecho que deseja.
Eu não até mesmo usá-lo como um editor ou IDE mais, apenas para trabalhar com git. Limpe UI e muito simples e direta, além disso, é altamente personalizável.
-
Você pode iniciá-lo a partir da linha de comando e passar em um único arquivo que você deseja abrir, ou adicionar a pasta do projeto (repo git).
- Eu também recomendaria projeto-gerente como uma maneira muito conveniente para Navegar entre projetos sem encher a sua exibição em árvore.
-
O único problema que eu tive é refrescante - quando se trabalha com grandes repositórios átomo pode ser lento para atualizar as alterações feitas fora dele. Eu sempre fechá-lo quando eu terminar, e em seguida, reabrir quando eu quero ver as minhas alterações / commit novamente. Você também pode recarregar a janela com ctrl + Shift + F5, o que só leva um segundo.
E é grátis, é claro.
Você pode instalar ECMerge diff / merge ferramenta em seu Linux, Mac ou Windows. Ele é pré-configurado no Git, por isso apenas usando git mergetool
irá fazer o trabalho.
I usar diferentes ferramentas para mesclar e comparar:
git config --global diff.tool diffuse
git config --global merge.tool kdiff3
Punho poderia ser chamado por:
git difftool [BRANCH] -- [FILE or DIR]
Em segundo lugar é chamado quando você usa git mergetool
.
Se você fizer uso visual studio , Team Explorer construído em ferramenta é uma ferramenta muito agradável para conflitos de mesclagem determinação git.
Alguns erros ao trabalhar com grandes conjuntos cometer, mas excelente para visitar a mudanças e escolher diferentes alterações ao palco e, em seguida, cometer.