git-flow-cheatsheet/index.ru_RU.html
2015-06-05 14:18:28 +03:00

414 lines
17 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/html">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Шпаргалка по git-flow</title>
<!-- Lobster is same as Sansita but with cyrillic and another subsets. I recomend to use Lobster instead Sansita everywere-->
<link href='http://fonts.googleapis.com/css?family=Lobster&subset=latin,cyrillic' rel='stylesheet' type='text/css'>
<link rel="stylesheet" href="css/normalize.css" type="text/css" media="screen,print">
<link rel="stylesheet" href="css/style.css" type="text/css" media="screen,print">
<style>
.title, h1, h2, h2 a, h3 {
font-family: 'Lobster';
}
</style>
<script src="js/jquery-1.7.2.min.js"></script>
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-33766650-1']);
_gaq.push(['_trackPageview']);
(function () {
var ga = document.createElement('script');
ga.type = 'text/javascript';
ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(ga, s);
})();
</script>
</head>
<body>
<div id="banner"><a href="https://github.com/danielkummer/git-flow-cheatsheet">Fork me on GitHub</a></div>
<header>
<h1 id="title">Шпаргалка по git-flow</h1>
<p id="author">
создал <a href="http://twitter.com/0r1g4m14dd1c7">Daniel Kummer</a>
<a href="https://twitter.com/share" class="twitter-share-button" data-via="0r1g4m14dd1c7" data-size="large">Tweet</a>
<script>!function (d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (!d.getElementById(id)) {
js = d.createElement(s);
js.id = id;
js.src = "//platform.twitter.com/widgets.js";
fjs.parentNode.insertBefore(js, fjs);
}
}(document, "script", "twitter-wjs");</script>
</p>
<p id="desc">эффективное ветвление с помощью git-flow от <a href="http://nvie.com/">Vincent Driessen</a></p>
<p id="translations">переводы:
<a href="index.html" title="english">English</a> -
<a href="index.es_ES.html" title="spanish">Castellano</a> -
<a href="index.pt_BR.html" title="Brazilian Portugues">Brazilian Portugues</a> -
<a href="index.zh_TW.html" title="Traditional Chinese">繁體中文(Traditional Chinese)</a> -
<a href="index.zh_CN.html" title="Simplified Chinese">简体中文(Simplified Chinese)</a> -
<a href="index.ja_JP.html" title="日本語">日本語</a> -
<a href="index.tr_TR.html" title="Turkce">Türkçe</a> -
<a href="index.ko_KR.html" title="한국어">한국어(Korean)</a> -
<a href="index.fr_FR.html" title="Français">Français</a> -
<a href="index.it_IT.html" title="Italiano">Italiano</a> -
<a href="#" class="active" title="Russian">Русский (Russian)</a> -
<a href="index.de_DE.html" title="German">Deutsch (German)</a> -
<a href="index.ca_CA.html" title="Català">Català (Catalan)</a> -
<a href="index.ro_RO.html" title="Romanian">Română (Romanian)</a> -
<a href="index.el_GR.html" title="Ελληνικά (Greek)">Ελληνικά (Greek)</a>
</p>
</header>
<div id="main">
<div class="scrollblock">
<h2>Введение</h2>
<p>
git-flow — это набор расширений git предоставляющий высокоуровневые операции над репозиторием для поддержки модели ветвления Vincent
Driessen.
<small><a href="http://nvie.com/posts/a-successful-git-branching-model/">узнать больше</a></small>
</p>
<p class="divider">&#9733; &#9733; &#9733;</p>
<p>Эта шпаргалка показывает основные способы использования операций git-flow.</p>
<p class="divider">&#9733; &#9733; &#9733;</p>
</div>
<div class="scrollblock">
<h2>Общие замечания</h2>
<ul>
<li>Git flow предоставляет превосходную командную строку со справкой и улучшенными выводом. Внимательно читайте его, чтобы знать, что происходит...</li>
<li>Клиент для OSX/Windows <a href="http://www.sourcetreeapp.com/">Sourcetree</a> — отличный GUI для Git — также поддерживает git-flow
</li>
<li>Git-flow основан на слиянии. Для слияния веток фич не используется rebase.</li>
</ul>
<p class="divider">&#9733; &#9733; &#9733;</p>
</div>
<div class="scrollblock">
<h2><a name="setup" href="#setup">Установка</a></h2>
<ul>
<li>В первую очередь вам нужна рабочая установка git</li>
<li>Git flow работает на OSX, Linux и Windows</li>
</ul>
<p class="divider">&#9733; &#9733; &#9733;</p>
<div class="col-1">
<h3>OSX</h3>
<span>Homebrew</span>
<blockquote>
$ brew install git-flow
</blockquote>
<span>Macports</span>
<blockquote>
$ port install git-flow
</blockquote>
<h3>Linux</h3>
<blockquote>
$ apt-get install git-flow
</blockquote>
<h3>Windows (Cygwin)</h3>
<blockquote>
$ wget -q -O - --no-check-certificate
https://github.com/nvie/gitflow/raw/develop/contrib/gitflow-installer.sh | bash
</blockquote>
<p>Вам потребуется wget и util-linux для установки git-flow.</p>
</div>
<div class="col-2">
<p>
Подробные инструкции по установке git flow смотрите на <a href="https://github.com/nvie/gitflow/wiki/Windows">git flow
wiki</a>.
</p>
<img src="img/download.png" alt="install git-flow"/>
</div>
</div>
<div class="scrollblock">
<h2><a name="getting_started" href="#getting_started">Приступая к работе</a></h2>
<p>Git flow нужно инициализировать, чтобы настроить его для работы с вашим проектом.</p>
<p class="divider">&#9733; &#9733; &#9733;</p>
<div class="col-1">
<h3>Инициализация</h3>
<p>Для начала использования git-flow проинициализируйте его внутри существующего git-репозитория:</p>
<blockquote>
git flow init
</blockquote>
<p>
Вам придётся ответить на несколько вопросов о способах именования ваших веток.<br/>
Рекомендуется оставить значения по умолчанию.
</p>
</div>
<div class="col-2">
<div class="initialize"></div>
<div class="lines-small"></div>
<div class="lines-open"></div>
<div class="lines-big"></div>
</div>
</div>
<div class="scrollblock">
<h2><a name="features" href="#features">Фичи</a></h2>
<ul class="narrow">
<li>Разработка новых фич для последующих релизов</li>
<li>Обычно присутствует только в репозиториях разработчиков</li>
</ul>
<p class="divider">&#9733; &#9733; &#9733;</p>
<div class="col-1">
<h3>Начало новой фичи</h3>
<p>Разработка новых фич начинается из ветки "develop".</p>
<p>Для начала разработки фичи выполните:</p>
<blockquote>
git flow feature start MYFEATURE
</blockquote>
<p>Это действие создаёт новую ветку фичи, основанную на ветке "develop", и переключается на неё.</p>
<!--
- Bump the version number now!
- Start committing last-minute fixes in preparing your release
- When done, run:
git flow release finish 'testrelease'
-->
</div>
<div class="col-2">
<div class="feature-start"></div>
</div>
</div>
<div class="scrollblock">
<div class="col-1">
<h3>Завершение фичи</h3>
<p>
Окончание разработки фичи.
Это действие выполняется так:
</p>
<ul>
<li>Слияние ветки MYFEATURE в "develop"</li>
<li>Удаление ветки фичи</li>
<li>Переключение обратно на ветку "develop"</li>
</ul>
<blockquote>
git flow feature finish MYFEATURE
</blockquote>
</div>
<div class="col-2">
<div class="feature-end"></div>
</div>
</div>
<div class="scrollblock">
<div class="col-1">
<h3>Публикация фичи</h3>
<p>
Вы разрабатываете фичу совместно с коллегами? <br/>
Опубликуйте фичу на удалённом сервере, чтобы её могли использовать другие пользователи.
</p>
<blockquote>
git flow feature publish MYFEATURE
</blockquote>
</div>
<div class="col-2">
<div class="feature-publish"></div>
</div>
</div>
<div class="scrollblock">
<div class="col-1">
<h3>Получение опубликованной фичи</h3>
<p>
Получение фичи, опубликованной другим пользователем.
</p>
<blockquote>
git flow feature pull origin MYFEATURE
</blockquote>
<p>Вы можете отслеживать фичу в репозитории origin с помощью команды <code> git flow feature track MYFEATURE</code></p>
</div>
<div class="col-2">
<div class="feature-pull"></div>
</div>
</div>
<div class="scrollblock">
<h2><a name="release" href="#release">Создание релиза</a></h2>
<ul>
<li>Поддержка подготовки нового релиза продукта</li>
<li>Позволяет устранять мелкие баги и подготавливать различные метаданные для релиза</li>
</ul>
<p class="divider">&#9733; &#9733; &#9733;</p>
<div class="col-1">
<h3>Начало релиза</h3>
<p>Для начала работы над релизом используйте команду <code>git flow release</code>
Она создаёт ветку релиза, ответляя от ветки "develop".
</p>
<blockquote>
git flow release start RELEASE [BASE]
</blockquote>
<p>При желании вы можете указать <code>[BASE]</code>-коммит в виде его хеша sha-1, чтобы начать релиз с него.
Этот коммит должен принадлежать ветке "develop".</p>
<p class="divider">&#9733; &#9733; &#9733;</p>
<p>Желательно сразу публиковать ветку релиза после создания, чтобы позволить другим разработчиками выполнять коммиты в ветку релиза.
          Это делается так же, как и при публикации фичи, с помощью команды:</p>
<blockquote>
git flow release publish RELEASE
</blockquote>
<p>Вы также можете отслеживать удалённый релиз с помощью команды <br/><code>git flow release track RELEASE</code></p>
</div>
<div class="col-2">
<div class="release-start"></div>
</div>
</div>
<div class="scrollblock">
<div class="col-1">
<h3>Завершение релиза</h3>
<p>Завершение релиза — один из самых больших шагов в git-ветвлени. При этом происходит несколько действий:</p>
<ul>
<li>Ветка релиза сливается в ветку "master"</li>
<li>Релиз помечается тегом равным его имени</li>
<li>Ветка релиза сливается обратно в ветку "develop"</li>
<li>Ветка релиза удаляется</li>
</ul>
<blockquote>
git flow release finish RELEASE
</blockquote>
<p>Не забудьте отправить изменения в тегах с помощью команды <code>git push --tags</code></p>
</div>
<div class="col-2">
<div class="release-end"></div>
</div>
</div>
<div class="scrollblock">
<h2><a name="hotfixes" href="#hotfixes">Исправления</a></h2>
<ul>
<li>Исправления нужны в том случае, когда нужно незамедлительно устранить нежелательное состояние продакшн-версии продукта</li>
<li>Может ответвляться от соответствующего тега на ветке "master", который отмечает выпуск продакшн-версии</li>
</ul>
<p class="divider">&#9733; &#9733; &#9733;</p>
<div class="col-1">
<h3>git flow hotfix start</h3>
<p>Как и в случае с другими командами git flow, работа над исправлением начинается так:</p>
<blockquote>
git flow hotfix start VERSION [BASENAME]
</blockquote>
<p>Аргумент VERSION определяет имя нового, исправленного релиза.</p>
<p>При желании можно указать BASENAME-коммит, от которого произойдёт ответвление.</p>
</div>
<div class="col-2">
<div class="hotfix-start"></div>
</div>
</div>
<div class="scrollblock">
<div class="col-1">
<h3>Завершение исправления</h3>
<p>Когда исправление готово, оно сливается обратно в ветки "develop" и "master".
Кроме того, коммит в ветке "master" помечается тегом с версией исправления.</p>
<blockquote>
git flow hotfix finish VERSION
</blockquote>
</div>
<div class="col-2">
<div class="hotfix-end"></div>
</div>
</div>
<div>
<div class="col-1"></div>
<div class="col-2">
<div class="lines-close"></div>
<div class="lines-small-end"></div>
</div>
</div>
<div class="scrollblock">
<h2><a name="commands" href="#commands">Команды</a></h2>
<img src="img/git-flow-commands.png" alt="git-flow commands"/>
</div>
<div class="scrollblock">
<h2>Последние замечания</h2>
<p class="divider">&#9733; &#9733; &#9733;</p>
<ul>
<li>Здесь описаны не все доступные команды, только наиболее важные</li>
<li>Вы можете продолжать использовать git и все его команды, как обычно, git flow — это просто набор дополнительных инструментов</li>
<li>Возможности "support"-веток пока в beta-версии, использовать их не рекомендуется</li>
</ul>
<p class="divider">&#9733; &#9733; &#9733;</p>
</div>
</div>
<footer>
<div class="scrollblock">
<h2><a name="comments" href="#comments">Комментарии</a></h2>
<div id="disqus_thread"></div>
</div>
</footer>
<script type="text/javascript">
/* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
var disqus_shortname = 'gitflowcheatsheet'; // required: replace example with your forum shortname
/* * * DON'T EDIT BELOW THIS LINE * * */
(function () {
var dsq = document.createElement('script');
dsq.type = 'text/javascript';
dsq.async = true;
dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
})();
</script>
<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a>
</noscript>
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>
</body>
</html>