Merge branch 'release-1.3.1'
This commit is contained in:
commit
1b5c4a3c15
388
git-tutorial.lyx
388
git-tutorial.lyx
|
@ -1,5 +1,5 @@
|
|||
#LyX 2.0 created this file. For more info see http://www.lyx.org/
|
||||
\lyxformat 413
|
||||
#LyX 2.1 created this file. For more info see http://www.lyx.org/
|
||||
\lyxformat 474
|
||||
\begin_document
|
||||
\begin_header
|
||||
\textclass article
|
||||
|
@ -36,13 +36,13 @@ foottoend
|
|||
\font_roman default
|
||||
\font_sans default
|
||||
\font_typewriter default
|
||||
\font_math auto
|
||||
\font_default_family default
|
||||
\use_non_tex_fonts false
|
||||
\font_sc false
|
||||
\font_osf false
|
||||
\font_sf_scale 100
|
||||
\font_tt_scale 100
|
||||
|
||||
\graphics default
|
||||
\default_output_format default
|
||||
\output_sync 0
|
||||
|
@ -66,15 +66,24 @@ foottoend
|
|||
\pdf_pdfusetitle true
|
||||
\papersize default
|
||||
\use_geometry true
|
||||
\use_amsmath 1
|
||||
\use_esint 1
|
||||
\use_mhchem 1
|
||||
\use_mathdots 1
|
||||
\use_package amsmath 1
|
||||
\use_package amssymb 1
|
||||
\use_package cancel 1
|
||||
\use_package esint 1
|
||||
\use_package mathdots 1
|
||||
\use_package mathtools 1
|
||||
\use_package mhchem 1
|
||||
\use_package stackrel 1
|
||||
\use_package stmaryrd 1
|
||||
\use_package undertilde 1
|
||||
\cite_engine basic
|
||||
\cite_engine_type default
|
||||
\biblio_style plain
|
||||
\use_bibtopic false
|
||||
\use_indices false
|
||||
\paperorientation portrait
|
||||
\suppress_date false
|
||||
\justification true
|
||||
\use_refstyle 1
|
||||
\index Index
|
||||
\shortcut idx
|
||||
|
@ -118,7 +127,7 @@ February 27, 2013
|
|||
\end_layout
|
||||
|
||||
\begin_layout Date
|
||||
Версия 1.3.0
|
||||
Версия 1.3.1
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
|
@ -264,7 +273,7 @@ lease/
|
|||
.
|
||||
Полученный приватный ключ id_rsa следует хранить в безопасном от чужих
|
||||
глаз месте (в случае получения доступа к нему 3-их лиц следует сгенерировать
|
||||
новый, а старый - удалить с Git-сервера).
|
||||
новый, а старый публичный ключ (.pub) - удалить с Git-сервера).
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
|
@ -381,6 +390,13 @@ Initial commit.
|
|||
.
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
\begin_inset space ~
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
Индексом в Git называется промежуточное хранилище изменений, попадающих
|
||||
в ближайший коммит.
|
||||
|
@ -458,6 +474,13 @@ begin_layout Subsubsection
|
|||
Stage this hunk [y,n,q,a,d,/,e,?]? y
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
\begin_inset space ~
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
Параметр -m у команды commit указывает на то, что следующим аргументом команды
|
||||
следует описание коммита, что удобно, когда нужно коммит сделать быстро.
|
||||
|
@ -616,6 +639,13 @@ $ git status -s # использовать сокращённую запись
|
|||
?? git-tutorial.pdf
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
\begin_inset space ~
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
Сами изменения можно посмотреть командой diff:
|
||||
\end_layout
|
||||
|
@ -700,7 +730,7 @@ status collapsed
|
|||
\end_inset
|
||||
|
||||
|
||||
\begin_inset Caption
|
||||
\begin_inset Caption Standard
|
||||
|
||||
\begin_layout Plain Layout
|
||||
\begin_inset CommandInset label
|
||||
|
@ -824,6 +854,13 @@ git branch -d featureA # удаление
|
|||
ветки featureA
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
\begin_inset space ~
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
При работе с системами управления проектами (ChilliProject, Redmine, Trac)
|
||||
по завершении работы с ветвью имеет смысл добавлять в сообщение коммита
|
||||
|
@ -858,6 +895,13 @@ Bug B fixed.
|
|||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
\begin_inset space ~
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
|
@ -870,6 +914,13 @@ Bug B fixed.
|
|||
git merge --squash
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
\begin_inset space ~
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
Иногда в списке удалённых веток (git branch -r) остаются несуществующие
|
||||
ссылки в результате того, что кто-то удалил эту ветвь или несколько веток
|
||||
|
@ -910,6 +961,13 @@ git branch -d -r github/invalid_branch2
|
|||
git push
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
\begin_inset space ~
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
Также возможны более сложные операции, к примеру:
|
||||
\end_layout
|
||||
|
@ -1039,6 +1097,13 @@ git blame -L 40,+21 main.c # вывести информацию о 21-ой с
|
|||
с 40-ой
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
\begin_inset space ~
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
Если требуется отфильтровать слишком старую историю, можно это сделать следующим
|
||||
образом:
|
||||
|
@ -1054,6 +1119,13 @@ git blame --since=3.weeks -- main.c # игнорировать информац
|
|||
недель
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
\begin_inset space ~
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
Вот пример, как можно посчитать общий вклад разработчиков в конкретный файл
|
||||
проекта:
|
||||
|
@ -1099,6 +1171,13 @@ git blame --line-porcelain mainform.cpp | sed -n 's/^author //p' | sort |
|
|||
git clone git@git.insysltd.ru:~user1/test_project/user1-test_repo.git
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
\begin_inset space ~
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
Если репозиторий содержит субрепозитории (submodules) необходимо их инициализиро
|
||||
вать и синхронизировать:
|
||||
|
@ -1162,6 +1241,13 @@ git format-patch master # создать патч, включающий отли
|
|||
от ветки master
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
\begin_inset space ~
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
Далее полученный патч может быть отправлен по email или прямо в окно Jabber-клие
|
||||
нта.
|
||||
|
@ -1173,6 +1259,13 @@ git format-patch master --stdout | mail -s 'Please apply this patch, Leo'
|
|||
leo@matrix.org
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
\begin_inset space ~
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
Применить полученный патч можно командой apply:
|
||||
\end_layout
|
||||
|
@ -1213,7 +1306,10 @@ git branch -r # список удалённых веток
|
|||
git branch -a # список всех веток, включая удалённые
|
||||
\end_layout
|
||||
|
||||
\begin_layout LyX-Code
|
||||
\begin_layout Standard
|
||||
\begin_inset space ~
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
|
@ -1264,6 +1360,13 @@ git log --graph --decorate --stat
|
|||
-stat -- печатать статистику по изменениям в каждом файле.
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
\begin_inset space ~
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
Если нужно вывести лог на определённом временном промежутке, через две точки
|
||||
вводится начало и конец:
|
||||
|
@ -1277,6 +1380,13 @@ git log master..develop
|
|||
git log f8a32c..3ab98c
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
\begin_inset space ~
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
Можно исключать из выводимого списка коммиты, входящие в какую-либо ветвь,
|
||||
например следующая команда выведет список коммитов из develop, не вошедшие
|
||||
|
@ -1287,6 +1397,13 @@ git log f8a32c..3ab98c
|
|||
git log develop ^master
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
\begin_inset space ~
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
Более полный список опций описан в руководстве (git help log).
|
||||
\end_layout
|
||||
|
@ -1421,6 +1538,13 @@ git stash apply # применить спрятанные измен
|
|||
их из stash-списка
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
\begin_inset space ~
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
Можно получить любую версию файла или директории посредством команды checkout:
|
||||
\end_layout
|
||||
|
@ -1439,6 +1563,13 @@ git checkout .
|
|||
# получить из головы (HEAD) содержимое текущей директории
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
\begin_inset space ~
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
Можно отменить изменения, попавшие в индекс для следующего коммита:
|
||||
\end_layout
|
||||
|
@ -1451,6 +1582,13 @@ git reset # очистить индекс
|
|||
git reset main.h # убрать из индекса main.h
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
\begin_inset space ~
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
Вся история команд работы с Git хранится в локальном списке reflog:
|
||||
\end_layout
|
||||
|
@ -1645,6 +1783,13 @@ git rebase --continue # обновить все последующие комм
|
|||
git push -f # отправить изменённую ветвь на Git-сервер
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
\begin_inset space ~
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
Также, в некоторых случаях бывает необходимо отредактировать самый первый
|
||||
коммит (root-commit):
|
||||
|
@ -1692,6 +1837,13 @@ git commit -m
|
|||
# во второй коммит.
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
\begin_inset space ~
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
Объединение нескольких коммитов в один можно выполнить ещё проще:
|
||||
\end_layout
|
||||
|
@ -1708,6 +1860,13 @@ git rebase -i -p HEAD~5
|
|||
# которые хотим объединить, сохранить.
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
\begin_inset space ~
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
Разбить произвольный коммит на два последовательных коммита можно следующими
|
||||
командами:
|
||||
|
@ -1831,6 +1990,13 @@ ABC/
|
|||
\end_layout
|
||||
|
||||
\end_deeper
|
||||
\begin_layout Standard
|
||||
\begin_inset space ~
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
Для этого воспользуемся командой filter-branch, изменяющей историю.
|
||||
\end_layout
|
||||
|
@ -1874,6 +2040,13 @@ git filter-branch --index-filter "git rm -r -f --cached --ignore-unmatch
|
|||
# оставив ABC
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
\begin_inset space ~
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
Аналогично создаётся репозиторий для XYZ
|
||||
\end_layout
|
||||
|
@ -1901,6 +2074,13 @@ git filter-branch --index-filter "git rm -r -f --cached --ignore-unmatch
|
|||
--prune-empty --tag-name-filter cat -- --all
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
\begin_inset space ~
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
По опциям команды filter-branch смотрите документацию (git help filter-branch).
|
||||
\end_layout
|
||||
|
@ -1929,6 +2109,13 @@ git reset --soft HEAD~1 # удалить последний коммит, сох
|
|||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
\begin_inset space ~
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
|
@ -2132,6 +2319,13 @@ git bisect skip # пропустить текущую ревизию
|
|||
git bisect reset # закончить двоичный поиск
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
\begin_inset space ~
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
Как только bisect нашёл источник ошибки - ревизию, в которой она была внесена,
|
||||
для нахождения ошибки остаётся проанализировать изменения в одном текущем
|
||||
|
@ -2163,6 +2357,61 @@ git bisect reset # закончить двоичный поиск
|
|||
выпуском новой версии и слиянием исправлений в master и develop.
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
\begin_inset space ~
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
Случаются ситуации, когда в дереве истории Git нужно найти коммит, где ошибка
|
||||
была исправлена, например, чтобы сообщить мэнтайнеру проекта для отметки
|
||||
в баг-трекере или бэкпортирования (cherry-pick) в другие долгие
|
||||
\begin_inset Quotes eld
|
||||
\end_inset
|
||||
|
||||
longtime
|
||||
\begin_inset Quotes erd
|
||||
\end_inset
|
||||
|
||||
ветки проекта.
|
||||
Для этого используются все те же самые команды, только вместо git bisect
|
||||
bad нужно вводить git bisect good и наоборот, так как вместо
|
||||
\begin_inset Quotes eld
|
||||
\end_inset
|
||||
|
||||
плохого
|
||||
\begin_inset Quotes erd
|
||||
\end_inset
|
||||
|
||||
(
|
||||
\begin_inset Quotes eld
|
||||
\end_inset
|
||||
|
||||
bad
|
||||
\begin_inset Quotes erd
|
||||
\end_inset
|
||||
|
||||
) коммита с ошибкой мы ищем
|
||||
\begin_inset Quotes eld
|
||||
\end_inset
|
||||
|
||||
хороший
|
||||
\begin_inset Quotes erd
|
||||
\end_inset
|
||||
|
||||
(
|
||||
\begin_inset Quotes eld
|
||||
\end_inset
|
||||
|
||||
good
|
||||
\begin_inset Quotes erd
|
||||
\end_inset
|
||||
|
||||
) коммит с нужным исправлением.
|
||||
\end_layout
|
||||
|
||||
\begin_layout Subsection
|
||||
cherry-pick - обмен коммитами между ветками
|
||||
\end_layout
|
||||
|
@ -2276,6 +2525,13 @@ Added my-lib submodule.
|
|||
git push
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
\begin_inset space ~
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
Команда
|
||||
\end_layout
|
||||
|
@ -2350,6 +2606,13 @@ git checkout -b mylib_branch mylib_remote/master
|
|||
git checkout master
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
\begin_inset space ~
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
Допустим, мы хотим поместить проект mylib в подкаталог с тем же именем:
|
||||
\end_layout
|
||||
|
@ -2358,6 +2621,13 @@ git checkout master
|
|||
git read-tree --prefix=mylib/ -u mylib_branch
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
\begin_inset space ~
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
В отличие от субмодулей данные поддерева хранятся физически в репозитории.
|
||||
Субмодули же, по своей сути, лишь ссылаются на данные в другом репозитории.
|
||||
|
@ -2388,6 +2658,13 @@ git merge --squash -s subtree --no-commit mylib_branch # смержить в myl
|
|||
git commit # зафиксировать изменения
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
\begin_inset space ~
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
Узнать о наличии разницы между подкаталогом mylib/ и кодом в mylib_branch
|
||||
можно при помощи
|
||||
|
@ -2506,6 +2783,13 @@ git fsck
|
|||
git fsck # выполнить проверку
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
\begin_inset space ~
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
Иногда случается, что объект добавлен в индекс
|
||||
\begin_inset Quotes eld
|
||||
|
@ -2589,7 +2873,7 @@ status collapsed
|
|||
\end_inset
|
||||
|
||||
|
||||
\begin_inset Caption
|
||||
\begin_inset Caption Standard
|
||||
|
||||
\begin_layout Plain Layout
|
||||
\begin_inset CommandInset label
|
||||
|
@ -2751,7 +3035,7 @@ status collapsed
|
|||
\end_inset
|
||||
|
||||
|
||||
\begin_inset Caption
|
||||
\begin_inset Caption Standard
|
||||
|
||||
\begin_layout Plain Layout
|
||||
Децентрализованный, но централизованный
|
||||
|
@ -2809,7 +3093,7 @@ status collapsed
|
|||
\end_inset
|
||||
|
||||
|
||||
\begin_inset Caption
|
||||
\begin_inset Caption Standard
|
||||
|
||||
\begin_layout Plain Layout
|
||||
Главные ветви
|
||||
|
@ -2834,6 +3118,13 @@ master
|
|||
develop
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
\begin_inset space ~
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
Ветвь master создаётся при инициализации репозитория, что должно быть знакомо
|
||||
каждому пользователю Git.
|
||||
|
@ -2907,6 +3198,13 @@ production-ready
|
|||
Ветви исправлений (Hotfix branches)
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
\begin_inset space ~
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
У каждого типа ветвей есть своё специфическое назначение и строгий набор
|
||||
правил, от каких ветвей они могут порождаться, и в какие должны вливаться.
|
||||
|
@ -2942,7 +3240,7 @@ status collapsed
|
|||
\end_inset
|
||||
|
||||
|
||||
\begin_inset Caption
|
||||
\begin_inset Caption Standard
|
||||
|
||||
\begin_layout Plain Layout
|
||||
Ветви функциональностей (feature branches)
|
||||
|
@ -3052,6 +3350,13 @@ Deleted branch myfeature (was 05e9557).
|
|||
$ git push origin develop
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
\begin_inset space ~
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
Флаг --no-ff вынуждает Git всегда создавать новый объект коммита при слиянии,
|
||||
даже если слияние может быть осуществлено алгоритмом fast-forward.
|
||||
|
@ -3080,7 +3385,7 @@ status collapsed
|
|||
\end_inset
|
||||
|
||||
|
||||
\begin_inset Caption
|
||||
\begin_inset Caption Standard
|
||||
|
||||
\begin_layout Plain Layout
|
||||
no-fast-forward VS fast-forward
|
||||
|
@ -3211,6 +3516,13 @@ $ git commit -a -m "Bumped version number to 1.2"
|
|||
1 files changed, 1 insertions(+), 1 deletions(-)
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
\begin_inset space ~
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
Мы создали новую ветку, переключились в неё, а затем выставили номер версии
|
||||
(bump version number).
|
||||
|
@ -3282,6 +3594,13 @@ Merge made by recursive.
|
|||
$ git tag -a 1.2
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
\begin_inset space ~
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
Теперь релиз издан и помечен тегом.
|
||||
\end_layout
|
||||
|
@ -3321,6 +3640,13 @@ Merge made by recursive.
|
|||
(Отчёт об изменениях)
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
\begin_inset space ~
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
Этот шаг, в принципе, может привести к конфликту слияния (нередко бывает,
|
||||
что к причиной конфликта является изменение номера версии проекта).
|
||||
|
@ -3361,7 +3687,7 @@ status collapsed
|
|||
\end_inset
|
||||
|
||||
|
||||
\begin_inset Caption
|
||||
\begin_inset Caption Standard
|
||||
|
||||
\begin_layout Plain Layout
|
||||
Ветви исправлений (hotfix branches)
|
||||
|
@ -3448,6 +3774,13 @@ $ git commit -a -m "Bumped version number to 1.2.1"
|
|||
1 files changed, 1 insertions(+), 1 deletions(-)
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
\begin_inset space ~
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
Не забывайте обновлять номер версии после создания ветви!
|
||||
\end_layout
|
||||
|
@ -3509,6 +3842,13 @@ Merge made by recursive.
|
|||
$ git tag -a 1.2.1
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
\begin_inset space ~
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
|
||||
\series bold
|
||||
|
@ -3542,6 +3882,13 @@ Merge made by recursive.
|
|||
(Отчёт об изменениях)
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
\begin_inset space ~
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
У этого правила есть одно исключение:
|
||||
\series bold
|
||||
|
@ -3672,6 +4019,13 @@ git config --global user.email "you@example.com"
|
|||
git config --global user.name "Your Name"
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
\begin_inset space ~
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
Опция --global указывает, что настройки должны быть применены глобально,
|
||||
а не только к текущему репозиторию.
|
||||
|
|
Loading…
Reference in New Issue