Respostas:
As ramificações de tópicos geralmente são ramificações leves que você cria localmente e que têm um nome que é significativo para você . Eles são onde você pode trabalhar para uma correção ou recurso de bug (também chamado de ramificação de recurso) que deve levar algum tempo para ser concluído.
Outro tipo de ramificação é a "ramificação remota" ou "ramificação de rastreamento remoto". Esse tipo de ramificação segue o desenvolvimento do trabalho de outra pessoa e é armazenado em seu próprio repositório. Você atualiza periodicamente este ramo (usando git fetch
) para rastrear o que está acontecendo em outro lugar. Quando estiver pronto para acompanhar as alterações de todos os outros, você usaria git pull
para buscar e mesclar.
Eu também vi outro tipo de ramificação, que é essencialmente uma árvore de arquivos completamente separada no mesmo repositório. Por exemplo, o próprio repositório Git contém cabeças denominadas man e html que contêm conteúdo totalmente diferente da ramificação principal . Não sei como esses tipos de ramos são geralmente chamados.
Não é um termo técnico; apenas se refere a um ramo que foi criado para implementar um recurso específico ou corrigir um bug. O "tópico" é a razão da criação da ramificação, essencialmente.
https://github.com/dchelimsky/rspec/wiki/Topic-Branches explica isso bem:
Uma ramificação de "tópico" é uma ramificação separada que você usa ao trabalhar em um único "tópico" (uma correção de bug, um novo recurso ou uma ideia experimental). É recomendável trabalhar em uma ramificação de tópico em vez de diretamente em cima de "mestre", porque:
{... visite o link ...}
Portanto, por todos esses motivos, é recomendável usar uma ramificação de tópicos para preparar envios, mesmo para contribuições simples, como correções de erros de confirmação única e similares.
Este exemplo também fornece exemplos. O que realmente me fez pensar: provavelmente é isso que a maioria das lojas já faz. Todos os projetos ágeis com que já participei fazem. Eu votei em "Não é um termo técnico" porque sinto que isso atinge a unha na cabeça.
parece que o tipo de ramificação mais proeminente e importante que não são tópicos, seria liberar ramificações em um repositório importante disponível ao público, certo?
Provavelmente, isso é certo para você, mas é sobre você e o projeto em que está pensando; não é determinado pelo Git.
A maioria dos sistemas de controle de versão (principalmente os centralizados) prescreve ou impõe um fluxo de trabalho específico, incluindo o que faz sentido usar uma ramificação. O Git (e até certo ponto a maioria dos VCSs distribuídos) considera que o fluxo de trabalho, para quais ramificações são usadas, quando confirmar, para que diferentes repositórios são usados etc. são todos escolhidos pelos usuários e acordos entre os usuários (políticas). Portanto, o Git não os aplica tecnicamente.
Essa é uma das coisas que dificultaram o aprendizado do Git. Oliver Steele explicou isso da visão do usuário, escrevendo sobre as políticas de confirmação .