forked from danielkummer/git-flow-cheatsheet
-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.zh_TW.html
378 lines (325 loc) · 14.2 KB
/
index.zh_TW.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
<!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">
<link rel="stylesheet" href="css/style.zh_TW.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.html" 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> -
<a href="index.ca_CA.html" title="Català">Català (Catalan)</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">★ ★ ★</p>
<p>這個備忘清單將會為您展示 git-flow 的基本操作方式與結果。</p>
<p class="divider">★ ★ ★</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">★ ★ ★</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">★ ★ ★</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">★ ★ ★</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">新功能分支(Feature)</a></h2>
<ul class="narrow">
<li>為接下即將發佈的版本開發新功能時使用。</li>
<li>通常新功能分支只會存於開發者機器上。</li>
</ul>
<p class="divider">★ ★ ★</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>
<p>
你也可以透過下列指令進而追蹤一個功能:
</p>
<blockquote>
git flow feature track 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">★ ★ ★</p>
<div class="col-1">
<h3>開始推出新版本</h3>
<p>使用下列指令準備推出(release)新版本分支:</p>
<blockquote>
git flow release start RELEASE [BASE]
</blockquote>
<p>
它會從 'develop' 分支的最後一個版本創建出 release 分支。
</p>
<p>你也可以選擇性的加入一個 sha-1 hash 於<code>[BASE]</code>參數,這會讓 release 分支於您指定的 develop 提交紀錄點產生分支。有一點需要注意的是,sha-1 has 只能是於'develop' 分支下。</p>
<p class="divider">★ ★ ★</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>完成推出新版本</h3>
<p>完成 release 版本是一個很大的 git 分支操作。但你只許要執行下列指令:</p>
<blockquote>
git flow release finish RELEASE
</blockquote>
<p>git flow 會幫你執行下面幾個步驟:</p>
<ul>
<li>合並 release 分支到 'master'</li>
<li>在 master 加上版本號標籤<small>(Tag)</small></li>
<li>合並 release 分支到 'develop'</li>
<li>移除 release 分支</li>
</ul>
</div>
<div class="col-2">
<div class="release-end"></div>
</div>
</div>
<div class="scrollblock">
<h2><a name="hotfixes" href="#hotfixes">快速修復(hotfix)</a></h2>
<ul>
<li>當你的產品發佈環境處於不可預期的狀況,且發生了一些需要立即修正的問題,您可以使用 hotfix 來幫助您。</li>
<li>hotfix 是從 master 中加入的版本標籤開始。</li>
</ul>
<p class="divider">★ ★ ★</p>
<div class="col-1">
<h3>開始快速修復</h3>
<p>快速修復(hotfix)就像其他的 git flow 指令一樣,您可以透過下列指令開始:</p>
<blockquote>
git flow hotfix start VERSION [BASENAME]
</blockquote>
<p>你必須填寫一個 VERSION 參數,這代表當你完成 hotfix 時發佈的版本號碼。</p>
<p>此外你可以自由挑選修復開始的分支名稱<code>[BASENAME]</code>,分支名稱如果不填寫的狀況下,預設是 'master'。</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>備註</h2>
<p class="divider">★ ★ ★</p>
<ul>
<li>這裡我們只介紹了重要且常用的功能,並非包含所有的指令。</li>
<li>git-flow 只是一個額外的擴充功能,即使安裝了 git-flow 後你依然可以使用你所知道的原生 git 指令。</li>
<li>'support' 分支目前為測試版本不建議使用。</li>
<li>如果你很樂意提供翻譯,我很樂意整合。</li>
</ul>
<p class="divider">★ ★ ★</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>請允許你的瀏覽器使用 JavaScript 才能看得到<a href="http://disqus.com/?ref_noscript">建議與回應 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>