Files
git-flow-cheatsheet/index.zh_TW.html
2014-11-08 01:51:49 +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' 的最後一個版本建立出另一個 'feature/MYFEATURE' 分支,並自動切換至這個分支底下。現在你可以開始製作新功能。</p>
</div>
<div class="col-2">
<div class="feature-start"></div>
</div>
</div>
<div class="scrollblock">
<div class="col-1">
<h3>完成新功能</h3>
<p>當你在新功能分支完成新功能後,使用下列指令來結束新功能開發:
</p>
<blockquote>
git flow feature finish MYFEATURE
</blockquote>
<p>這個指令會替你完成下列動作:
<ul>
<li>合並(Merge) MYFEATURE 分支回到 'develop'</li>
<li>刪除這個新功能分支</li>
<li>切換回 'develop' 分支</li>
</ul>
</div>
<div class="col-2">
<div class="feature-end"></div>
</div>
</div>
<div class="scrollblock">
<div class="col-1">
<h3>發佈新功能分支</h3>
<p>
你是否需多人合作開發新功能?<br/>
透過下列命令來發佈新功能分支到遠端 git 伺服器,讓其他使用者也能共用這個新功能分支。
</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>