Подтвердить что ты не робот

SVN до Git Branch/Tag/Trunk

Я делаю прыжок с SVN на Git (хотя мое уважение к SVN будет по-прежнему сохранено), и у меня было несколько вопросов для некоторой SVN-терминологии Git. В SVN многие хранилища настроены следующим образом:

- trunk  : The place where all of the main development occurs
- tag    : Storing versions of major releases or important milestones
- branch : Where smaller "branch" development occurs as to not conflict with the main development occurring in the trunk, then is later merged into the trunk

Каковы стандартные имена условных обозначений для branch/tag/trunk в Git?

Спасибо за ваше время.

4b9b3361

Ответ 1

Git не заставляет вас использовать определенную структуру для вашего проекта. Вся информация, важная для самого git, будет сохранена в скрытом каталоге .git. Чтобы просмотреть или увидеть ветки и теги, используйте команды git:

git branch 
git tag
...

чтобы получить дополнительную информацию, используйте команду git help или посмотрите на это бесплатное book

Ответ 2

  • Строка SVN --- Git master (refs/heads/master)
  • ветки SVN/* --- Git ветки (refs/heads/*)
  • теги SVN/* --- Git теги (refs/tags/*)

Ответ 3

На самом деле нет прямых аналогов. SVN использует структуру каталогов для хранения копий непосредственно в репозитории, чтобы разрешать ветки и теги. Поэтому существует концепция создания структуры для хранения этих копий в репозитории.

Git, с другой стороны, поддерживает это как метаинформацию и обрабатывает все как моментальный снимок точки во времени, идентифицируемой хешем:

Subversion отмечает определенные контрольные точки в истории через копии, копия обычно помещается в каталог с тегами. Git теги намного мощнее. Тег Git может иметь прикрепленное произвольное описание (первая строка является специальной, как в случае фиксации), некоторые люди фактически хранят объявления о выпуске в описаниях тегов. Идентификация человека, помеченного, хранится (опять же по тем же правилам, что и личность коммиттера). Вы можете пометить другие объекты, кроме коммитов (но это концептуально довольно низкоуровневая операция). И тег может быть криптографически подписанным PGP для проверки подлинности (по характеру работы Git, эта подпись также подтверждает достоверность связанной ревизии, ее истории и дерева).

Таким образом, в принципе нет "структуры репозитория"; существует только структура проекта (т.е. что вы найдете в trunk, ветке или теге в вашем SVN-репо)