Skip to content

Commit c933a95

Browse files
committed
add Git-Flow
1 parent 00e8c9a commit c933a95

File tree

1 file changed

+67
-0
lines changed

1 file changed

+67
-0
lines changed

Git-Flow/README.md

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
# Git-Flow 基本教學 :memo:
2+
3+
在開始要了解 Git-Flow 之前,建議大家先對 Git 有基本的認識,
4+
5+
可以參考我之前寫的 [Git-Tutorials GIT基本使用教學](https://github.com/twtrubiks/Git-Tutorials)
6+
7+
## 什麼是 Git-Flow
8+
9+
在 Git 中有很多指令, 如果你使用 Git-Flow ,會多一些額外的功
10+
11+
能,但這先功能都只是由基本功能下去組合出來的,講簡單一點
12+
13+
,就是 A = B + C + D 的概念 ,當然,也不用擔心需要額外記指令
14+
15+
,有 GUI 介面 ( 有很多套可以使用,我是使用 [SmartGit](http://www.syntevo.com/smartgit/) ) ,而且很方便。
16+
17+
## 為什麼要使用 Git-Flow
18+
19+
當你一個人在用 Git 的時候一定很爽,你想怎麼 commit 或
20+
21+
者怎麼 merge 甚至在哪個分支下開發你都可以自己決定,但
22+
23+
如果是多人共同開發呢 ? 每個人都有自己的習慣,這樣豈不
24+
25+
是天下大亂,於是 Git-Flow 就產生了。
26+
27+
## Git-Flow 並不是一個新技術,他只是一個規範
28+
29+
很多人第一次看到 Git-Flow 都會想,哇!這個什麼東西阿,好潮
30+
31+
哦之類的,但他只是 **一種規範** ,並不是一種新技術,當一整個
32+
33+
團隊都遵守某一種工作流程,比較不會發生問題。
34+
35+
Git-Flow 是訂出來的一種規範,如果你或公司對 Git 非常了解,
36+
37+
你們也可以自己定義屬於你們自己的 Flow ,不要遵守 Git-Flow ,
38+
39+
是完全不會有衝突的。
40+
41+
## Git-Flow Model
42+
43+
在 Git-Flow 中,有兩個主要的分支:
44+
45+
***Master***
46+
47+
這個分支是非常穩定的,任何時刻都是 production-ready ,包含最新的 release ,也就是產品的原始碼,當任何一個人使用你的產品,第一眼看到的都是 master,**我們不能直接在 master 分支上進行任何的 commit ,只能從 Release 或 Hotfix merge 回來**
48+
49+
***Develop***
50+
51+
開發中的分支,develop 分支是由 mater 分支分出來的,該 ( develop ) 分支提供整合不同即將 release 的 feature ( 功能 ) ,所以該分支有可能不穩定 ( 有bug ) 。通常我們也不會直接在該分支下 commit,而是透過 merge 的方式將 feature ( 功能 ) merge 進來。
52+
53+
Master 以及 Develop 這兩個分支非常重要,理論上要保護好這兩個分支,避免被意外刪除。
54+
55+
除了 **Master** 以及 **Develop** 這兩個分支之外,Git-Flow 還提供其他的分支:
56+
57+
***Feature***
58+
59+
功能開發,該分支是由 develop 分支分出來的,最後會被合併回 develop 分支。舉個例子,假設目前有 A 和 B 兩個功能經由兩個人下去開發,這兩個人會分別從 develop 分支分 A 和 B 兩個分支出來,當完成後,再 merge 回 develop 。
60+
61+
***Release***
62+
63+
當我們認為 develop 已經是一個很穩定的版本時,我們會進入 release,該分支是由 develop 分支分出來的。通常我們會在該分支底下再做一次全面的測試以及上線前的準備 ( 發佈版本的記錄 ),完成realse 後,我們會 merge 回 master 以及 develop。
64+
65+
***Hotfix***
66+
67+
該分支是由 master 分支分出來的,通常是已經上線了,但突然發現一個非常緊急的 bug ,這時候我們就會開一個 Hotfix 出來修復該 bug ,完成後我們會再 merge 回 master 以及 develop。

0 commit comments

Comments
 (0)