O que você precisa perceber, vindo do CVS, é que você não cria mais diretórios ao configurar uma ramificação.
Chega de "etiqueta adesiva" (que pode ser aplicada a apenas um arquivo) ou "etiqueta de ramificação".
Ramificação e tags são dois objetos diferentes no Git e sempre se aplicam ao repositório all .
Você não precisaria mais (com o SVN dessa vez) estruturar explicitamente seu repositório com:
branches
myFirstBranch
myProject
mySubDirs
mySecondBranch
...
tags
myFirstTag
myProject
mySubDirs
mySecondTag
...
Essa estrutura vem do fato de o CVS ser um sistema de revisão e não um sistema de versão (consulte Controle de origem vs. Controle de revisão? ).
Isso significa que os ramos são emulados através de tags para CVS, cópias de diretório para SVN.
Sua pergunta faz sentido se você estiver acostumado a fazer check-out de uma tag e começar a trabalhar nela .
O que você não deveria;)
Uma tag deve representar um conteúdo imutável , usado apenas para acessá-la com a garantia de obter o mesmo conteúdo sempre.
No Git, o histórico de revisões é uma série de confirmações, formando um gráfico.
Uma ramificação é um caminho desse gráfico
x--x--x--x--x # one branch
\
--y----y # another branch
1.1
^
|
# a tag pointing to a commit
- Se você fizer check-out de uma tag, precisará criar uma ramificação para começar a trabalhar nela.
- Se você efetuar o checkout de um ramo, verá diretamente o último commit ('HEAD') desse ramo.
Veja a resposta de Jakub Narębski para todos os detalhes técnicos, mas, francamente, neste momento, você não precisa (ainda) de todos os detalhes;)
O ponto principal é: uma tag sendo um simples ponteiro para um commit, você nunca poderá modificar seu conteúdo. Você precisa de um ramo.
No seu caso, cada desenvolvedor trabalhando em um recurso específico:
- deve criar sua própria ramificação em seu respectivo repositório
- rastrear ramificações dos repositórios de seus colegas (aquele que trabalha no mesmo recurso)
- puxar / empurrar para compartilhar seu trabalho com seus colegas.
Em vez de rastrear diretamente as ramificações de seus colegas, você pode rastrear apenas a ramificação de um repositório central "oficial" no qual todos enviam seu trabalho para integrar e compartilhar o trabalho de todos para esse recurso específico.