Что нужно понять из CVS, так это то, что вы больше не создаете каталоги при настройке ветки.
Нет больше «липкой метки» (которую можно применить только к одному файлу) или «ветки метки».
Ветка и теги - это два разных объекта в Git, и они всегда применяются ко всему репо.
Вам больше не нужно (с SVN на этот раз) явно структурировать ваш репозиторий с помощью:
branches
myFirstBranch
myProject
mySubDirs
mySecondBranch
...
tags
myFirstTag
myProject
mySubDirs
mySecondTag
...
Эта структура проистекает из того факта, что CVS является системой ревизий, а не системой версий (см. Контроль версий или Контроль версий ? ).
Это означает, что ветви эмулируются с помощью тегов для CVS, копий каталогов для SVN.
Ваш вопрос имеет смысл, если вы привыкли извлекать тег и начать работать с ним .
Что вы не должны;)
Предполагается, что тег представляет собой неизменяемый контент, используемый только для доступа к нему с гарантией получения одного и того же контента каждый раз.
В Git история ревизий представляет собой серию коммитов, образующих граф.
Ветвь - один путь этого графа
x--x--x--x--x # one branch
\
--y----y # another branch
1.1
^
|
# a tag pointing to a commit
- Если вы извлекаете тег, вам нужно создать ветку, чтобы начать работать с ним.
- Если вы извлечете ветку, вы сразу увидите последний коммит ('HEAD') этой ветки.
См . Ответ Якуба Наренбского для всех технических деталей , но, честно говоря, на данный момент вам не нужны (пока) все детали;)
Суть в том, что тег, являющийся простым указателем на коммит, никогда не сможет изменить его содержимое. Вам нужна ветка.
В вашем случае каждый разработчик работает над определенной функцией:
- следует создать свою собственную ветку в своем соответствующем хранилище
- отслеживать ветви из репозиториев своих коллег (которые работают с той же функцией)
- тянет / толкает, чтобы поделиться своей работой со своими сверстниками.
Вместо непосредственного отслеживания ветвей ваших коллег, вы можете отслеживать только ветку одного «официального» центрального репозитория, в который каждый направляет свою работу, чтобы интегрировать и делиться работой каждого для этой конкретной функции.