Merge branch '#351_submodules' into develop
This commit is contained in:
commit
cf48656ef2
|
@ -1043,6 +1043,15 @@ Add collaborators и установить для добавленных поль
|
||||||
git clone git@git.insysltd.ru:~user1/test_project/user1-test_repo.git
|
git clone git@git.insysltd.ru:~user1/test_project/user1-test_repo.git
|
||||||
\end_layout
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Standard
|
||||||
|
Если репозиторий содержит субрепозитории (submodules) необходимо их инициализиро
|
||||||
|
вать и синхронизировать:
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout LyX-Code
|
||||||
|
git submodule update --init --recursive
|
||||||
|
\end_layout
|
||||||
|
|
||||||
\begin_layout Subsubsection
|
\begin_layout Subsubsection
|
||||||
pull-request - запрос на слияние
|
pull-request - запрос на слияние
|
||||||
\end_layout
|
\end_layout
|
||||||
|
@ -2005,15 +2014,91 @@ git cherry-pick --ff ..next # если история линейная и
|
||||||
к текущей ветви
|
к текущей ветви
|
||||||
\end_layout
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Subsection
|
||||||
|
Субрепозитории
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Standard
|
||||||
|
Или так называемые Git submodules.
|
||||||
|
Применяются для включения одних проектов в другие или для создания суперпроекто
|
||||||
|
в.
|
||||||
|
При этом обновления в подпроектах не затрагивают основной проект до тех
|
||||||
|
пор, пока владелец проекта не захочет это сделать явно, убедившись, что
|
||||||
|
эти изменения оставляют проект в рабочем состоянии.
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Standard
|
||||||
|
Создать Git submodule очень просто, например добавим в некоторый проект
|
||||||
|
my-project библиотеку my-lib:
|
||||||
|
\end_layout
|
||||||
|
|
||||||
\begin_layout LyX-Code
|
\begin_layout LyX-Code
|
||||||
|
cd my-project
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout LyX-Code
|
||||||
|
git submodule add git@git.github.com:mynickname/my-lib.git
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout LyX-Code
|
||||||
|
git commit -m
|
||||||
|
\begin_inset Quotes eld
|
||||||
|
\end_inset
|
||||||
|
|
||||||
|
Added my-lib submodule.
|
||||||
|
\begin_inset Quotes erd
|
||||||
|
\end_inset
|
||||||
|
|
||||||
|
|
||||||
\end_layout
|
\end_layout
|
||||||
|
|
||||||
\begin_layout LyX-Code
|
\begin_layout LyX-Code
|
||||||
|
git push
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Standard
|
||||||
|
Команда
|
||||||
\end_layout
|
\end_layout
|
||||||
|
|
||||||
\begin_layout LyX-Code
|
\begin_layout LyX-Code
|
||||||
|
git submodule update --init --recursive
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Standard
|
||||||
|
рекурсивно обновляет всем субмодули, которые в свою очередь могут содержать
|
||||||
|
другие субмодули из origin remote.
|
||||||
|
Следует отметить, что после выполнения данной команды сурепозитории могут
|
||||||
|
оказаться в
|
||||||
|
\begin_inset Quotes eld
|
||||||
|
\end_inset
|
||||||
|
|
||||||
|
detached state
|
||||||
|
\begin_inset Quotes erd
|
||||||
|
\end_inset
|
||||||
|
|
||||||
|
, то есть не привязанными к какой-либо ветке.
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Standard
|
||||||
|
Если требуется внести изменения в субрепозиторий, то это делается как и
|
||||||
|
с обычным проектом (edit, commit, push).
|
||||||
|
Важно отметить, что изменения в субрепозитории не влияют на главный репозиторий
|
||||||
|
до тех пор, пока в нём это явно не будет указано:
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout LyX-Code
|
||||||
|
git add my-lib
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout LyX-Code
|
||||||
|
git commit -m
|
||||||
|
\begin_inset Quotes eld
|
||||||
|
\end_inset
|
||||||
|
|
||||||
|
my-lib submodule updated.
|
||||||
|
\begin_inset Quotes erd
|
||||||
|
\end_inset
|
||||||
|
|
||||||
|
|
||||||
\end_layout
|
\end_layout
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue