Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
H How-To
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Jira
    • Jira
  • Merge requests 0
    • Merge requests 0
  • Operations
    • Operations
    • Incidents
  • Analytics
    • Analytics
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • docs
  • How-To
  • Wiki
  • submodule basic

submodule basic · Changes

Page history
update authored Mar 06, 2015 by Administrator's avatar Administrator
Hide whitespace changes
Inline Side-by-side
Showing with 3 additions and 3 deletions
+3 -3
  • submodule-basic.markdown submodule-basic.markdown +3 -3
  • No files found.
submodule-basic.markdown
View page @ 426cd7d7
......@@ -2,15 +2,15 @@
Наша система представляет собой набор модулей или плагинов, достаточно независимых, чтобы можно было вести разработку различных подсистем изолированно друг от друга и при этом сохранять целостность, подключая модули в конечный продукт, коим является интернет-банк.
Нам приходится отслеживать то какие именно модули включаются в интернет-банк, вносить изменения во взаимосвязанные модули подсистем синхронно, чтобы не нарушить целостность кода. Кроме того процесс осложняется наличием как минимум двух активных веток: **master** - основного ствола разработки и **текущей стабильной ветки**, в которую вносятся только исправления ошибок.
Нам приходится отслеживать то, какие именно модули включаются в интернет-банк, вносить изменения во взаимосвязанные модули подсистем синхронно, чтобы не нарушить целостность кода. Кроме того процесс осложняется наличием как минимум двух активных веток: **master** - основного ствола разработки и **текущей стабильной ветки**, в которую вносятся только исправления ошибок.
Типичная проблема, возникающая при использовании подобного сценария, это, как сделать так, чтобы иметь возможность рассматривать их как отдельные, всё же имея возможность использовать один модуль внутри другого.
Git решает эту задачу, используя **подмодули**. Подмодули позволяют содержать один Git-репозиторий как подкаталог другого Git-репозитория. Это даёт возможность клонировать ещё один репозиторий внутрь проекта, храня коммиты для вложенного репозитория отдельно.
Git решает эту задачу, используя **подмодули**. Подмодули позволяют содержать один Git-репозиторий как подкаталог другого Git-репозитория. Это даёт возможность клонировать репозитории внутрь проекта, храня коммиты для вложенных репозиториев отдельно.
## Начало использования подмодулей
Предположим, вы хотите добавить новую кастомизацию cust-ibank-fl-newbank в супер-проект. Первое, что требуется сделать, это клонировать внешний репозиторий cust-ibank-fl-newbank в подкаталог супер-репозитория ibank_root. Добавление внешних проектов в качестве подмодулей делается командой `git submodule add`:
Предположим, вы хотите добавить новую кастомизацию cust-ibank-fl-newbank в суперпроект ibank_root. Первое, что требуется сделать, это клонировать внешний репозиторий cust-ibank-fl-newbank в подкаталог супер-репозитория ibank_root. Добавление внешних проектов в качестве подмодулей делается командой `git submodule add`:
```
>git submodule add git@source.isimplelab.com:ibank/cust-ibank-fl-newbank.git cust-ibank-fl-newbank
Initialized empty Git repository in ibank_root/cust-ibank-fl-newbank/.git/
......
Clone repository
  • Work in branches
  • clone ibank
  • create new module
  • create ssh key
  • git essentials
  • initial config
  • remove module
  • submodule basic