Entendendo os conceitos básicos do Git e GitHub [fechado]

201

Eu não entendo completamente o propósito de usar Git ou Github; Sei que ajuda a acompanhar suas alterações e é útil para pessoas que colaboram com outras pessoas, mas não colaboro com ninguém, então não sei se isso seria útil para mim.

Normalmente trabalho como web designer / desenvolvedor, mas nunca tenho que colaborar. Eu sei que no Git você criou, empurra, confirma, cria ramificações etc para todos os repositórios, mas ...

  1. Qual é a diferença entre Git e GitHub?

  2. O git está salvando todos os repositórios localmente (na máquina do usuário) e no GitHub?

  3. Você pode usar o Git sem o GitHub? Se sim, qual seria o benefício do uso do GitHub?

  4. Como o Git se compara a um sistema de backup como o Time Machine?

  5. Este é um processo manual, ou seja, se você não confirmar, não terá uma nova versão das alterações feitas?

  6. Se você não está colaborando e você já está usando um sistema de backup, por que você usaria o Git?

fs_tigre
fonte
talvez ajude alguém a compreensão das diferenças: pedrorijo.com/blog/git-init
pedrorijo91

Respostas:

254
  1. Qual é a diferença entre Git e GitHub?

    Git é um sistema de controle de versão; pense nisso como uma série de instantâneos (confirmações) do seu código. Você vê um caminho desses instantâneos, em que ordem eles foram criados. Você pode fazer ramificações para experimentar e voltar às capturas instantâneas tiradas.

    GitHub, é uma página da web na qual você pode publicar seus repositórios Git e colaborar com outras pessoas.

  2. O Git está salvando todos os repositórios localmente (na máquina do usuário) e no GitHub?

    Não, é apenas local. Você pode optar por enviar (publicar) algumas ramificações no GitHub.

  3. Você pode usar o Git sem o GitHub? Se sim, qual seria o benefício do uso do GitHub?

    Sim, o Git é executado local se você não usar o GitHub. Uma alternativa ao uso do GitHub pode estar executando o Git em arquivos hospedados no Dropbox, mas o GitHub é um serviço mais simplificado, pois foi criado especialmente para o Git.

  4. Como o Git se compara a um sistema de backup como o Time Machine?

    É uma coisa diferente, o Git permite acompanhar as alterações e seu processo de desenvolvimento. Se você usa o Git com o GitHub, ele se torna efetivamente um backup. No entanto, geralmente você não enviava o tempo todo para o GitHub; nesse momento, você não tem um backup completo se tudo der errado. Eu uso o git em uma pasta sincronizada com o Dropbox.

  5. Este é um processo manual, ou seja, se você não confirmar, não terá uma nova versão das alterações feitas?

    Sim, cometer e empurrar são manuais.

  6. Se você não está colaborando e você já está usando um sistema de backup, por que você usaria o Git?

    • Se você encontrar um erro entre confirmações, poderá usar o comando git diffpara ver as diferenças entre o código atual e a última confirmação de trabalho, ajudando a localizar seu erro.

    • Você também pode simplesmente voltar ao último commit de trabalho.

    • Se você deseja tentar uma alteração, mas não tem certeza de que funcionará. Você cria uma ramificação para testar sua alteração de código. Se funcionar bem, você a mesclará à ramificação principal. Se isso não acontecer, basta jogar o galho fora e voltar ao galho principal.

    • Você fez alguma depuração. Antes de confirmar, você sempre analisa as alterações do último commit. Você vê sua instrução de impressão de depuração que esqueceu de excluir.

Certifique-se de verificar gitimmersion.com .

Davoud Taghawi-Nejad
fonte
5
A seção um do último parágrafo é realmente um bom ponto. Também faça o checkout git intersectpara esse fim.
2
@ H2CO3 Você quer dizer git bisect?
Simon Whitaker
1
@ SimonWhitaker Sim, isso é um erro de digitação.
47
  1. Qual é a diferença entre Git e GitHub?

    Linus Torvalds mataria você por isso. Git é o nome do programa gerenciador de versão que ele escreveu. O GitHub é um site no qual existem repositórios de código-fonte gerenciáveis ​​pelo Git. Portanto, o GitHub não tem nenhuma relação com a ferramenta Git original.

  2. O git está salvando todos os repositórios localmente (na máquina do usuário) e no GitHub?

    Se você confirmar as alterações, ele será armazenado localmente. Então, se você enviar os commits, eles também serão armazenados remotamente.

  3. Você pode usar o Git sem o GitHub? Se sim, qual seria o benefício do uso do GitHub?

    Você pode, mas tenho certeza de que não deseja configurar manualmente um servidor git para si mesmo. Benefícios do GitHub? Bem, fácil de usar, muitas pessoas o conhecem, para que outras pessoas possam encontrar seu código e o seguir / bifurcar para fazer melhorias também.

  4. Como o Git se compara a um sistema de backup como o Time Machine?

    O Git é projetado e otimizado especificamente para o código fonte.

  5. Este é um processo manual, ou seja, se você não confirmar, não terá uma nova versão das alterações feitas?

    Exatamente.

  6. Se você não está colaborando e você já está usando um sistema de backup, por que você usaria o Git?

    Veja # 4.

svick
fonte
5
Na verdade, você pode usar o git inteiramente local. A única razão pela qual você usaria o github é publicar seu código-fonte. Por exemplo, para colaboração. Se você não quer fazer isso, não precisa de um servidor git.
Davoud Taghawi-Nejad 5/08
@ DavoudTaghawi-Nejad sim, mas tenho certeza de que o OP estava se referindo a 'sem Github' como 'não especificamente ao GitHub'. Eu também acredito que é óbvio do número 2 que você pode usar o git apenas localmente.
4
@ DavoudTaghawi-Nejad Uso o github como backup, não para colaboração. Se houver um código de incêndio / etc, é seguro.
Thufir
o que é o recurso github follow e fork?
Mou
29
  1. Qual é a diferença entre Git e GitHub?

    Git é um sistema de controle de versão distribuído. Geralmente é executado na linha de comando da sua máquina local. Ele monitora seus arquivos e modificações nesses arquivos em um "repositório" (ou "repo"), mas somente quando você solicita que o faça. (Em outras palavras, você decide quais arquivos rastrear e quando tirar um "instantâneo" de qualquer modificação.)

    Por outro lado, o GitHub é um site que permite publicar seus repositórios Git on-line, o que pode ser útil por vários motivos (consulte a # 3).

  2. O Git está salvando todos os repositórios localmente (na máquina do usuário) e no GitHub?

    O Git é conhecido como um sistema de controle de versão "distribuído" (em vez de "centralizado"), porque você pode executá-lo localmente e desconectado da Internet e depois "enviar" suas alterações para um sistema remoto (como o GitHub) sempre que desejar. Portanto, as alterações de repositório só aparecem no GitHub quando você diz manualmente ao Git para enviar essas alterações.

  3. Você pode usar o Git sem o GitHub? Se sim, qual seria o benefício do uso do GitHub?

    Sim, você pode usar o Git sem o GitHub. O Git é o programa "burro de carga" que realmente rastreia suas alterações, enquanto o GitHub simplesmente hospeda seus repositórios (e fornece funcionalidade adicional não disponível no Git). Aqui estão alguns dos benefícios do uso do GitHub:

    • Ele fornece um backup dos seus arquivos.
    • Ele fornece uma interface visual para navegar nos seus repositórios.
    • Dá a outras pessoas uma maneira de navegar nos seus repositórios.
    • Facilita a colaboração de repo (por exemplo, várias pessoas contribuindo para o mesmo projeto).
    • Ele fornece um sistema leve de rastreamento de problemas.
  4. Como o Git se compara a um sistema de backup como o Time Machine?

    O Git faz backup de seus arquivos, mas oferece um controle muito mais granular do que um sistema de backup tradicional sobre o que e quando você faz o backup. Especificamente, você "confirma" toda vez que deseja tirar um instantâneo das alterações, e essa confirmação inclui uma descrição das alterações e os detalhes linha por linha dessas alterações. Isso é ideal para o código-fonte, porque você pode ver facilmente o histórico de alterações de qualquer arquivo em um nível linha por linha.

  5. Este é um processo manual, ou seja, se você não confirmar, não terá uma nova versão das alterações feitas?

    Sim, este é um processo manual.

  6. Se você não está colaborando e você já está usando um sistema de backup, por que você usaria o Git?

    • O Git emprega um poderoso sistema de ramificação que permite trabalhar simultaneamente em várias linhas independentes de desenvolvimento e depois mesclar essas ramificações, conforme necessário.
    • O Git permite visualizar as diferenças linha a linha entre diferentes versões dos seus arquivos, o que facilita a solução de problemas.
    • O Git obriga a descrever cada um de seus commits, o que facilita significativamente a localização de uma versão anterior específica de um determinado arquivo (e a possibilidade de reverter para a versão anterior).
    • Se você precisar de ajuda com o seu código, tê-lo rastreado pelo Git e hospedado no GitHub facilita muito a visualização de seu código por outra pessoa.

Para começar a usar o Git, recomendo o livro online Pro Git e o GitRef como um guia de referência útil. Para começar a usar o GitHub, gosto do Bootcamp do GitHub e de seus Guias do GitHub . Por fim, criei uma curta série de vídeos para apresentar o Git e o GitHub para iniciantes.

Kevin Markham
fonte