Sinceramente, não sou claro sobre a semântica aqui. Eles são todos sobre cópias / variantes de uma unidade de código + histórico, mas além disso, não sei ao certo o que dizer. Essa estrutura lógica é explicada em algum lugar?
Sinceramente, não sou claro sobre a semântica aqui. Eles são todos sobre cópias / variantes de uma unidade de código + histórico, mas além disso, não sei ao certo o que dizer. Essa estrutura lógica é explicada em algum lugar?
Respostas:
Um repositório é simplesmente um local onde o histórico do seu trabalho é armazenado. Geralmente, ele .git
fica em um subdiretório da sua cópia de trabalho - uma cópia do estado mais recente dos arquivos nos quais você está trabalhando.
Para bifurcar um projeto (pegue a fonte do repositório de alguém em determinado momento e aplique suas próprias alterações divergentes), você clonaria o repositório remoto para criar uma cópia dele e, em seguida, faria seu próprio trabalho no repositório local e confirmar alterações.
Dentro de um repositório, você tem ramificações, que são efetivamente bifurcadas em seu próprio repositório. Seus ramos terão um commit ancestral em seu repositório e divergirão desse commit com suas alterações. Mais tarde, você pode mesclar suas alterações de ramificação. As ramificações permitem trabalhar em vários recursos diferentes de uma só vez.
Você também pode rastrear ramificações individuais em repositórios remotos. Isso permite extrair alterações dos ramos de outra pessoa e mesclá-las em um ramo próprio. Isso pode ser útil se você e um amigo estiverem trabalhando juntos em um novo recurso.
Existem muitos livros on-line excelentes. Dê uma olhada no ProGit e no Git Magic para começar, bem como nos tutoriais oficiais e no livro da comunidade.
Vou responder minha própria pergunta com um RTFM.
Mas, leia este manual fino. Como o autor coloca:
“A conclusão que tirei disso é que você só pode realmente usar o Git se entender como o Git funciona. Apenas memorizando quais comandos você deve executar a que horas funcionará no curto prazo, mas é apenas uma questão de tempo antes de você ficar preso ou, pior ainda, quebrar alguma coisa.
“Metade dos recursos existentes no Git, infelizmente, adotam exatamente essa abordagem: eles orientam você sobre os comandos a serem executados quando e esperam que você deva se sair bem se apenas imitar esses comandos. A outra metade passa por todos os conceitos, mas pelo que vi, eles explicam o Git de uma maneira que assume que você já entende como o Git funciona. ”
Este GoogleTechTalk é uma introdução fantástica ao Git para aprender o que realmente está acontecendo nos bastidores e ao mesmo tempo aprender o idioma. Foi dado por um colaborador muito antigo do Git e ele deu essa palestra em 2007 como uma forma de introdução ao Git. Se você assistir a essa conversa, não apenas saberá o que cada palavra é, como repositório, fork, ramificação etc., mas também saberá o que está acontecendo nos bastidores quando cada uma delas é criada, mesclada etc.
O endereço é longo, mas muito informativo. Ele também contrasta o Git com outros sistemas de controle de versão, para que você possa entender por que o Git foi criado do jeito que era e quais são as vantagens comparativas dele em relação a outros sistemas de controle. Embora a conversa seja antiga, é muito útil começar a trabalhar. Eu assistia isso antes de pular para os manuais. As coisas farão muito mais sentido, como resultado, acredito.