來來來,要上線了,把不須要上線的功能都註釋掉。git
這個操做讓人有點難以想象。程序員
本來我覺得,程序員應該都會用 Git!但是,我發現我錯了。服務器
Git 是用來作版本管理的,在使用以前,你可能須要先安裝它。但一般狀況下是不須要的,由於它真的過重要了,因此大部分的操做系統默認都已經安裝過了。併發
對於 Git 倉庫,有如下兩種類型:工具
本地倉庫有太多的限制,好比說:沒法遠程訪問、多人協做等。因此,一般狀況下咱們都是直接建立遠程倉庫的。測試
對於遠程倉庫,咱們能夠本身搭建 Git 服務器,也可使用諸如:GitHub(收費)、GitLab、BitBucket 等現成的服務。我的比較推薦使用 GitLab。操作系統
我想,一些程序員不使用版本管理工具(Git)來管理代碼確定是有緣由的,好比說:版本控制
有句話好像是這樣說的:「失敗的緣由各類各樣,但成功的緣由卻大體相同」。咱們能夠思考一下下面的問題:blog
仔細想一想,你可能就會以爲確實是那麼回事,因此你就在 GitLab 上建立了一個私有的倉庫。這是 Git 解決的第一個問題:遠程協做開發
這時候你可能就懵了,由於你已經徹底不記得上一個版本是什麼樣子了。這是 Git 解決的第二個問題:版本控制
這時候,你會發現這個問題解決起來卻有點麻煩,你可能就須要對你們說:「來來來,要上線了,把不須要上線的功能都註釋掉」。這是 Git 要解決的第三個問題:分支管理
這裏只介紹 Git 解決的三個主要問題,固然 Git 的功能遠不止這些,但這三點是必需要搞明白的。
分支管理是 Git 的強大功能,在實際的開發中能解決不少問題。而每一個人對分支管理的理解是不一樣,也就會產生不少種分支管理方法。好比說:有的程序員只使用一個 Master 分支,開發、測試、發佈、維護(Bug 修復)都在 Master 分支上完成。這樣作一定會產生不少問題。
分支管理的主要目的是:知足整個研發過程當中(開發、測試、發佈、維護),代碼的版本控制。這就須要咱們在作分支管理的時候,去決策須要使用多少分支,每一個分支分別須要作什麼事情,以及何時建立/合併分支。而這些就是 Git 的工做流,是咱們在整個研發過程當中使用 Git 來管理代碼的流程和規範。
對於 Git 工做流,經常使用的主要有三種,如:
Git Flow 就是咱們接下來要說明的。
Branch
首先這種工做流會用到如下幾種分支:
Workflow
對於工做流,用圖來表示會更容易理解,以下圖:
圖中就是咱們使用 Git Flow 工做時的流程。很明顯,Git Flow 須要用到不少分支,這也是不少開發者放棄它的理由。對於 Git Workflow 還有其餘的選擇,好比:GitLab Flow 和 GitHub Flow。固然你也能夠根據實際的業務場景使用本身的工做流,方式不一樣,但都是爲了一樣的目的。