git-flow-cheatsheet/index.zh_TW.html
2014-11-08 01:25:01 +08:00

366 lines
13 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

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="zh-TW" 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>
<link href='http://fonts.googleapis.com/css?family=Sansita+One' 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">
<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" style="font-size: 80px;">git-flow 備忘清單</h1>
<p id="author">
<a href="http://twitter.com/0r1g4m14dd1c7" target="_blank">Daniel Kummer (<a href="https://twitter.com/share" data-size="large">Tweet</a>)</a> 建立
</p>
<p id="desc">使用 git-flow 進行高效率的分支使用。 by <a href="http://nvie.com/" target="_blank">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="#" class="active" title="Traditional Chinese">繁體中文(Traditional Chinese)</a> -
<a href="index.zh_CN" title="Simplified Chinese">简体中文(Simplified Chinese)</a><br />
<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="index.nl_NL.html" title="Nederlands">Nederlands</a> -
<a href="index.ru_RU.html" title="Russian">Русский (Russian)</a> -
<a href="index.de_DE.html" title="German">Deutsch (German)</a>
</p>
</header>
<div id="main">
<div class="scrollblock">
<h2>什麼是 git-flow ?</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><a href="http://www.sourcetreeapp.com/">SourceTree</a> 是一個極為出色的 git 圖形介面應用程式,以內建了 git-flow 的功能。(支援 Mac OS X 與 Windows)</li>
<li>Git-flow 是一個以歸並(Merge)為基底的解決方案,它並無提供重置(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>Mac OS X</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>在 Windows 下安装 git-flow, 你會需要 wget 和 util-linux。</p>
</div>
<div class="col-2">
<p>
更詳細的 git flow 安裝指南,請參閱 <a href="https://github.com/nvie/gitflow/wiki/Windows" target="_blank">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">開始 git flow</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>
</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 MYFEATURE
</blockquote>
</div>
<div class="col-2">
<div class="feature-pull"></div>
</div>
</div>
<div class="scrollblock">
<h2><a name="release" href="#release">作一个release版本</a></h2>
<ul>
<li>支持一个新的用于生产环境的发布版本。 </li>
<li>允许修正小问题,并为发布版本准备元数据。 </li>
</ul>
<p class="divider">&#9733; &#9733; &#9733;</p>
<div class="col-1">
<h3>开始准备release版本</h3>
<p>开始准备release版本使用 git flow release 命令. </p>
它从 'develop' 分支开始创建一个 release 分支。
</p>
<blockquote>
git flow release start RELEASE [BASE]
</blockquote>
<p> 你可以选择提供一个 <code>[BASE]</code>参数,即提交记录的 sha-1 hash 值,来开启动 release 分支. 这个提交记录的 sha-1 hash 值必须是'develop' 分支下的。</p>
<p class="divider">&#9733; &#9733; &#9733;</p>
<p>创建 release 分支之后立即发布允许其它用户向这个 release 分支提交见容是个明智的做法。命令十分类似发布新特性:</p>
<blockquote>
git flow release publish RELEASE
</blockquote>
<p>(你可以通过 <br/><code>git flow release track RELEASE</code> 命令签出 release 版本的远程变更)</p>
</div>
<div class="col-2">
<div class="release-start"></div>
</div>
</div>
<div class="scrollblock">
<div class="col-1">
<h3>完成 release 版本</h3>
<p>完成 release 版本是一个大 git 分支操作。它执行下面几个动作: </p>
<ul>
<li>归并 release 分支到 'master' 分支</li>
<li>用 release 分支名打 Tag</li>
<li>归并 release 分支到 'develop'</li>
<li>移除 release 分支</li>
</ul>
<blockquote>
git flow release finish RELEASE
</blockquote>
</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 分支上某个 TAG 标记的生产版本。 </li>
</ul>
<p class="divider">&#9733; &#9733; &#9733;</p>
<div class="col-1">
<h3>开始 git flow 热点修复</h3>
<p>像其它 git flow 命令一样, 热点修复分支开始自:</p>
<blockquote>
git flow hotfix start VERSION [BASENAME]
</blockquote>
<p> VERSION 参数标记着修正版本。你可以从 [BASENAME]开始,<code>[BASENAME]</code>为finish release时填写的版本号</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 分支打上修正版本的 TAG。</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>Backlog</h2>
<p class="divider">&#9733; &#9733; &#9733;</p>
<ul>
<li>并非所有可用的命令都涵盖在这里,这里包含有最重要的部分命令。 </li>
<li>你依旧可以继续使用你所知道和了解的 git 命令, git flow 只是一个工具集合。</li>
<li>'support' 功能只是测试版本, 不建议使用</li>
<li>如果你乐意提供翻译,我很乐意整合它。</li>
</ul>
<p class="divider">&#9733; &#9733; &#9733;</p>
</div>
</div>
<footer>
<div class="scrollblock">
<h2><a name="comments" href="#comments">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>