Руководство по веткам (Git и Qt)

Материал из Wiki.crossplatform.ru

(Различия между версиями)
Перейти к: навигация, поиск
(Guidelines for creating, maintaining and closing Branches: перевод)
(Создание новой функциональной ветки)
 
(10 промежуточных версий не показаны.)
Строка 1: Строка 1:
-
=== Руководство по созданию, сопровождению и закрытию Веток ===
+
{{Инфо
 +
|title = Эта статья является переводом руководства: ''[http://qt.gitorious.org/qt/pages/BranchGuidelines Guidelines for creating, maintaining and closing Branches]''<small></small>
 +
|text =
 +
}}
 +
 
 +
=== Руководство по созданию, обслуживанию и закрытию веток ===
Это руководство поможет вам избежать создания целого леса веток разработки и адского слияния. Придерживайтесь простых правил и вы обнаружите, что поддерживать и объеденять отдельные строки кода - это просто.
Это руководство поможет вам избежать создания целого леса веток разработки и адского слияния. Придерживайтесь простых правил и вы обнаружите, что поддерживать и объеденять отдельные строки кода - это просто.
 +
__TOC__
 +
=== Создание новой функциональной ветки ===
 +
Когда создаётся новая ветка то, для начала, вы должны выбрать одну ветку за основу (базовая ветка). Хорошей основой являются ветки:
 +
# Стабильные
 +
# Долгоживущие
 +
# Сопровождения
-
=== Creating a new feature branch ===
+
Кроме того, вы можете захотеть сделать где-нибудь резервную копию вашей новой ветки, выберите расположение:
-
When creating a new branch, you have to decide on a base branch to start off of. Properties of good base branches are:
+
# Личный клон вашего проекта.
-
# Stable
+
# Хранилище команды.
-
# Long-lived
+
-
# Maintained
+
-
 
+
-
In addition you may want to back up your new branch somewhere, so pick a location:
+
-
# A personal clone of your project.
+
-
# A team repository.
+
-
 
+
-
=== Maintaing and updating a branch ===
+
=== Обслуживание и обновление ветки ===
-
As a rule of thumb, try to pull updates only from your base branch. Avoid pulling from experimental branches into your feature branch. Don’t pull other project’s branches into your feature branch unless you decide to become part of the project.
+
Практическое правило - пытайтесь тянуть обновление только из вашей базовой ветки. Избегайте вытягивания из эксперементальных веток в вашу функциональную ветку. Не вытягивайте другие ветки проекта в ващу функциональную ветку до тех пор пока вы не решите стать частью проекта.
 +
=== Закрытие ветки ===
 +
Когда вы закончили работать со своей функциональностью, решите, где объеденять её назад. Ваши варианты включают:
 +
# Наиболее непосредственная цель - ваша базовая ветка. Слийте с ней и удалите вашу функциональную ветку.
 +
# Вы также можете выбрать для слияния вашу функциональную ветку в другую функциональную ветку проекта, и, затем, закрыть вашу.
 +
# Если вы хотите получить только те изменения, которые вы сделали и слить их в другую ветку, без учёта изменений вашей базовой ветки, тогда вы можете использовать <code>git rebase</code>. Это  может быть сложная операция и лучше работает на относительно мелких изменениях.
-
=== Closing a branch ===
+
=== Эксперементальная работа ===
-
When you’re done with your feature, decide where to merge it back. Your options include:
+
Общая ситуация такова, что вы имеете две отдельные функциональные ветки и вы хотели бы проверить, как они ведут себя вместе. Просто создайте третью, короткоживущую, ветку основанную на одной функциональной ветке и и слитую со второй. Если в процессе тестирования комбинации двух веток вы обнаружите, необходимы дополнительные изменения, тогда вы можете зафиксировать их сначала в вашу эксперементальную ветку. Впоследствии используйте <code>git-cherry-pick</code>, чтобы поместить их в одну из двух исходных веток и удалите вашу эксперементальную ветку.
-
# The most straightforward target is your base branch. Merge into it and delete your feature branch.
+
-
# You may also choose to merge your feature branch into another project’s feature branch, and then close yours.
+
-
# If you would like to take only the changes that you've done and merge them into another branch, without including the changes of your base branch, then you can use git rebase. It can be a complex operation and works best on relatively small changesets.
+
-
=== Experimental work ===
+
[[Категория:Qt]]
-
A common situation is that you have two separate feature branches and you would like to try out how both of them behave together. Simply create a third, short-lived branch based on the one feature branch and with the second one merged into it. If in the process of testing the combination of both branches you discover that additional changes are needed, then you can commit them first into your experimental branch. Afterwards use <code>git-cherry-pick</code> to pick them into one of the two originating branches and delete your experimental branch again.
+
[[Категория:Git]]
 +
[[Категория:СУВ]]

Текущая версия на 00:14, 25 июня 2009

40px Эта статья является переводом руководства: Guidelines for creating, maintaining and closing Branches

[править] Руководство по созданию, обслуживанию и закрытию веток

Это руководство поможет вам избежать создания целого леса веток разработки и адского слияния. Придерживайтесь простых правил и вы обнаружите, что поддерживать и объеденять отдельные строки кода - это просто.

Содержание

[править] Создание новой функциональной ветки

Когда создаётся новая ветка то, для начала, вы должны выбрать одну ветку за основу (базовая ветка). Хорошей основой являются ветки:

  1. Стабильные
  2. Долгоживущие
  3. Сопровождения

Кроме того, вы можете захотеть сделать где-нибудь резервную копию вашей новой ветки, выберите расположение:

  1. Личный клон вашего проекта.
  2. Хранилище команды.

[править] Обслуживание и обновление ветки

Практическое правило - пытайтесь тянуть обновление только из вашей базовой ветки. Избегайте вытягивания из эксперементальных веток в вашу функциональную ветку. Не вытягивайте другие ветки проекта в ващу функциональную ветку до тех пор пока вы не решите стать частью проекта.

[править] Закрытие ветки

Когда вы закончили работать со своей функциональностью, решите, где объеденять её назад. Ваши варианты включают:

  1. Наиболее непосредственная цель - ваша базовая ветка. Слийте с ней и удалите вашу функциональную ветку.
  2. Вы также можете выбрать для слияния вашу функциональную ветку в другую функциональную ветку проекта, и, затем, закрыть вашу.
  3. Если вы хотите получить только те изменения, которые вы сделали и слить их в другую ветку, без учёта изменений вашей базовой ветки, тогда вы можете использовать git rebase. Это может быть сложная операция и лучше работает на относительно мелких изменениях.

[править] Эксперементальная работа

Общая ситуация такова, что вы имеете две отдельные функциональные ветки и вы хотели бы проверить, как они ведут себя вместе. Просто создайте третью, короткоживущую, ветку основанную на одной функциональной ветке и и слитую со второй. Если в процессе тестирования комбинации двух веток вы обнаружите, необходимы дополнительные изменения, тогда вы можете зафиксировать их сначала в вашу эксперементальную ветку. Впоследствии используйте git-cherry-pick, чтобы поместить их в одну из двух исходных веток и удалите вашу эксперементальную ветку.