Softwares de controle de versão devem ser usados na linha de comando ou GUI

4

Eu estava passando por alguns tutoriais no TortoiseHg. Apesar de ter uma GUI rica, os primeiros exemplos são dados usando as opções de linha de comando. O uso ideal envolve linha de comando ou foi iniciado dessa forma para que se tenha uma idéia do que está acontecendo sob a capa e a GUI usa internamente esse comando de qualquer maneira.

    
por Shamim Hafiz 07.06.2011 / 08:47
fonte

12 respostas

35

Use o que você quiser. Use o que faz sentido para o que você está fazendo agora.

Embora eu seja principalmente um cara de linha de comando (uso apenas a GUI para obter uma representação gráfica do gráfico de revisão), tenho dificuldade em entender por que você acha que usar a linha de comando dá uma melhor compreensão do que acontece por trás o capô (bem com exceção do GIT :)), geralmente há um mapeamento claro entre os dois, mesmo que o CL possa lhe dar acesso a alguns recursos pouco usados.

Agora, na minha opinião, automatizar o que pode ser automatizado no processo é parte do trabalho e, para isso, o CL é obrigatório.

    
por 07.06.2011 / 09:23
fonte
14

É mais fácil escrever tutoriais usando o CLI. Tudo que você precisa é de texto! Tentar demonstrar fluxos de trabalho em uma GUI significa capturas de tela, círculos e setas e um parágrafo na parte de trás de cada um, explicando o que cada um é.

Use o que você quiser. Não há um caminho "certo".

    
por 07.06.2011 / 15:30
fonte
11

Eu prefiro uma mistura de ambos.

A GUI é adequada para o uso diário da funcionalidade principal.

No entanto, é muito útil saber como as coisas funcionam "nos bastidores" na linha de comando - especialmente se você quiser usar recursos mais avançados ou escrever scripts para automatizar algumas tarefas comuns.

    
por 07.06.2011 / 08:52
fonte
10

Idealmente, você quer os dois.

Geralmente, os comandos são implementados como uma linha de comando, o que significa que você tem os seguintes benefícios:

  1. Você pode colocar qualquer número de GUIs no topo.
  2. Você pode integrá-lo com qualquer ferramenta que desejar.
  3. Você pode usá-lo em scripts.

O último é extremamente importante. Quer que seu servidor de compilação verifique seu código e ele não possui uma API direta para o sistema? Bem, com uma interface de linha de comando, ele poderá funcionar. O mesmo se aplica a tudo.

    
por 07.06.2011 / 12:11
fonte
5

Começou como uma linha de comando. Olhe para svn, bzr, hg, git ... Alguns precisavam de GUI, porque eles eram preguiçosos em lembrar comandos e queriam botões, portanto, a maioria das GUIs existentes são juts overlay para interface de linha de comandos, embora existam alguns desses sistemas. Apenas GUI (normalmente não são vistos e são implementados em alguns editores de texto).

Claro que ambos são necessários. No windows seu bit hardcore para usar o cmd para fazer commits e usar o VCS enquanto no Linux eu uso pessoalmente o mercurial de linha de comando toda vez que faço as coisas mais rápido e limpo.

Onde deve ser usado a partir de (GUI vs linha de comando)? Você tem a escolha. Aprenda os dois (você precisará) e use o melhor em sua opinião pessoal.

Mais sobre o tópico: link

    
por 07.06.2011 / 09:22
fonte
3

Tudo o que funciona para você. Eu tenho visto mestres de GUI que são tão rápidos que colocam um monte de usuários de linha de comando para vergonha e vice-versa. A única coisa que importa é escolher algo e aprender os meandros dele. Uma vez que você é muito bom o que você escolheu, aprenda de outra maneira.

    
por 07.06.2011 / 09:08
fonte
2

Acho que é a resposta geral para tipos de software que as pessoas usam regularmente: Inicialmente GUI e uma vez que alguém dominou os conceitos, em seguida, mais e mais linha de comando. Atualmente, estou usando uma ferramenta de controle de versão específica uma vez por mês. Seria impossível para mim lembrar qualquer sintaxe de linha de comando. Então, apenas GUI.

Por outro lado, depois de alguns meses usando subversão, tornou-se apenas um assunto de linha de comando, sem necessidade de recursos visuais.

    
por 07.06.2011 / 16:17
fonte
1

Você verá que a maioria das respostas refere-se a usar os dois. Aprenda a usar ambos e use cada método de acordo com a situação.

O G.U.I, geralmente é mais fácil de usar, mas existem cenários, se você tiver que seguir a versão de linha de comando. Alguma programação I.D.E. incluir ou pode ser estendido com um G.U.I. para o C.V.S. de sua escolha.

Às vezes, você pode precisar usar um C.V.S. para arquivos que não são aplicativos ou não são suportados pela sua programação I.D.E.

Eu trabalhei uma vez, em um projeto VB6 onde o VB6 I.D.E. incluiu o próprio C.V.S. incluído com seu G.U.I., infelizmente não funcionou bem, e algumas vezes, corrompeu arquivos, ou perdeu algumas versões. Tivemos que instalar um Open Source C.V.S., que tivemos que usar a partir da linha de comando.

    
por 07.06.2011 / 20:13
fonte
1

Use o que o torna mais produtivo, mas aprenda o CLI independentemente. É a lingua franca do VCS, então você precisa saber para perguntar e / ou responder perguntas em lugares como estouro de pilha. Além disso, os recursos mais avançados só estão disponíveis no CLI, então é provável que você acabe querendo, mesmo que raramente. Você também pode misturar e combinar clientes. Eu pessoalmente sou mais produtivo usando uma GUI para visualização de histórico e resolvendo manualmente mesclagens, e a CLI para todo o resto.

    
por 07.06.2011 / 21:48
fonte
1

TortoiseSVN para SVN no Win32 / 64, devido às sobreposições de ícones para feedback visual.

Caso contrário: GUI para operações menos frequentes (capacidade de detecção superior e melhor capacidade), linha de comando para operações mais comuns (maior parcimônia, menos pressionamentos de tecla).

    
por 12.06.2012 / 19:29
fonte
0

A GUI é obrigatória quando você tem qualquer ferramenta implantada em um grande conjunto de usuários.
Se essa ferramenta tiver algumas operações de várias etapas (criação de espaço de trabalho, vários arquivos mesclados, ...), uma caixa de diálogo do assistente será bem-vinda.
Se essa ferramenta puder apresentar uma representação gráfica de algum estado (histórico, árvore de versões, ramificações e mesclagens, ...), um usuário apreciará uma janela gráfica em vez de uma parede de texto em um shell.

Mas uma CLI também é obrigatória toda vez que uma operação GUI falha: a mesma operação feita em uma CLI geralmente gera uma mensagem de erro muito mais precisa e completa do que a caixa de diálogo de erro exibida pela GUI.
E qualquer script pode usar, é claro, uma CLI para fins de automação.

    
por 07.06.2011 / 09:22
fonte
0

Se você tiver muitas operações repetidas, como adicionando alguns mas não todos os arquivos

git add file1
git add file2
git add file3
...
git add fileN

então a GUI com caixas de seleção é definitivamente melhor.

Se você precisar inserir hashes como argumentos de comando, então a GUI é definitivamente melhor (permita selecionar e não precisa lembrar os hashes)

    
por 23.01.2013 / 06:22
fonte