Структура каталогов
Каждая ссылка, или помеченный моментальный снимок фиксации, в проекте находится в определенных подкаталогах, таких как trunk, branches и tags. Например, проект SVN с двумя функциями, находящимися в разработке, может выглядеть следующим образом:
  sample_project/trunk/README.md
  sample_project/trunk/lib/widget.rb
  sample_project/branches/new_feature/README.md
  sample_project/branches/new_feature/lib/widget.rb
  sample_project/branches/another_new_feature/README.md
  sample_project/branches/another_new_feature/lib/widget.rb
Рабочий процесс SVN выглядит следующим образом:
- Каталог 
trunkпредставляет последний стабильный выпуск проекта. - Функции, над которыми ведется активная работа, находятся в подкаталогах в каталоге 
branches. - После завершения работы над функцией каталог функции объединяется с 
trunkи удаляется. 
Проекты Git также хранятся в отдельном каталоге. Однако Git скрывает сведения о своих ссылках, сохраняя их в специальном каталоге .git. Например, проект Git с двумя функциями, находящимися в разработке, может выглядеть следующим образом:
  sample_project/.git
  sample_project/README.md
  sample_project/lib/widget.rb
Рабочий процесс Git выглядит следующим образом:
- В каталоге .git репозитория Git хранится полный журнал всех ветвей и тегов репозитория.
 - Последний стабильный выпуск находится в ветви по умолчанию.
 - Функции, над которыми ведется активная работа, находятся в отдельных ветвях.
 - После завершения работы над функцией каталог функции объединяется с ветвью по умолчанию и удаляется.
 
В отличие от SVN при использовании Git структура каталогов остается одинаковой, но содержимое файлов изменяется в зависимости от ветви.
Включение вложенных проектов
Подпроект — это проект, разработка и управление которым осуществляется вне рамок вашего основного проекта. Обычно вы импортируете подпроект, чтобы добавить некоторые функции в проект без необходимости поддерживать код самостоятельно. При каждом обновлении подпроекта можно синхронизировать его с проектом, чтобы все содержимое подпроекта было актуальным.
В SVN подпроект называется внешним SVN. В Git он называется подмодулем Git. Хотя подмодули Git концептуально аналогичны подпроектам, они не обновляются автоматически; необходимо явно запросить добавление новой версии в проект.
Дополнительные сведения см . в подмодуле инструментов Git в документации по Git.
Сохранение журнала
SVN настроен так, что предполагается, что журнал проекта никогда не изменяется. Git позволяет изменять предыдущие фиксации и изменения с помощью таких средств как git rebase.
Tip
GitHub поддерживает клиентов Subversion, что может приводить к непредвиденным результатам при использовании Git и SVN в одном проекте. Если вы изменили журнал фиксаций Git, эти же фиксации навсегда останутся в журнале SVN. Если вы случайно зафиксировали некоторые конфиденциальные данные, обратитесь к статье, которая поможет удалить их из журнала Git.
Note
Поддержка подверсии будет удалена с помощью GitHub версии 3.13. Дополнительные сведения см . в блоге GitHub.