MyTetra Share
Делитесь знаниями!
Модель работы с git
Время создания: 19.04.2017 18:13
Раздел: git - theory
Запись: xintrea/mytetra_db_mcold/master/base/14926146135nqqtnr0yj/text.html на raw.githubusercontent.com

## Модель работы с git


### Ветви функциональностей (feature branches)

> Флаг --no-ff вынуждает Git всегда создавать новый объект коммита при слиянии, даже если слияние может быть осуществлено алгоритмом fast-forward. Это позволяет не терять информацию о том, что ветка существовала, и группирует вместе все внесённые изменения.

![features](https://habrastorage.org/storage/a90013bb/4166845b/d7905ec1/572137b0.png)



$ git checkout -b myfeature develop

$ git checkout develop

Switched to branch 'develop'

$ git merge --no-ff myfeature

Updating ea1b82a..05e9557

(Отчёт об изменениях)

$ git branch -d myfeature

Deleted branch myfeature (was 05e9557).

$ git push origin develop




### Создание ветви релиза (release branch)



$ git checkout -b release-1.2 develop

Switched to a new branch "release-1.2"

$ ./bump-version.sh 1.2

Files modified successfully, version bumped to 1.2.

$ git commit -a -m "Bumped version number to 1.2"

[release-1.2 74d9424] Bumped version number to 1.2

1 files changed, 1 insertions(+), 1 deletions(-)



### Закрытие ветви релиза


$ git checkout master

Switched to branch 'master'

$ git merge --no-ff release-1.2

Merge made by recursive.

(Отчёт об изменениях)

$ git tag -a 1.2

$ git checkout develop

Switched to branch 'develop'

$ git merge --no-ff release-1.2

Merge made by recursive.

(Отчёт об изменениях)

$ git branch -d release-1.2

Deleted branch release-1.2 (was ff452fe).



### Ветви исправлений (hotfix branches)

![hotfixes](https://habrastorage.org/storage/a303d38c/6c9c561c/8bcc22f7/3f8cbad4.png)


$ git checkout -b hotfix-1.2.1 master

Switched to a new branch "hotfix-1.2.1"

$ ./bump-version.sh 1.2.1

Files modified successfully, version bumped to 1.2.1.

$ git commit -a -m "Bumped version number to 1.2.1"

[hotfix-1.2.1 41e61bb] Bumped version number to 1.2.1

1 files changed, 1 insertions(+), 1 deletions(-)

$ git commit -m "Fixed severe production problem"

[hotfix-1.2.1 abbe5d6] Fixed severe production problem

5 files changed, 32 insertions(+), 17 deletions(-)


$ git checkout master

Switched to branch 'master'

$ git merge --no-ff hotfix-1.2.1

Merge made by recursive.

(Отчёт об изменениях)

$ git tag -a 1.2.1


$ git checkout develop

Switched to branch 'develop'

$ git merge --no-ff hotfix-1.2.1

Merge made by recursive.



И наконец, удаляем временную ветвь:


$ git branch -d hotfix-1.2.1

Deleted branch hotfix-1.2.1 (was abbe5d6).


Так же в этом разделе:
 
MyTetra Share v.0.60
Яндекс индекс цитирования