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