日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Git - 团队合作利器 Branch 与 Git Flow

發布時間:2023/12/20 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Git - 团队合作利器 Branch 与 Git Flow 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

【原文地址】:從0開始學習 GitHub 系列之「團隊合作利器 Branch」

Git 相比于 SVN 最強大的一個地方就在于「分支」,Git 的分支操作簡直不要太方便,而實際項目開發中團隊合作最依賴的莫過于分支了,關于分支前面的系列也提到過,但是本篇會詳細講述什么是分支、分支的具體操作以及實際項目開發中到底是怎么依賴分支來進行團隊合作的。

1. 什么是分支?

我知道讀者中肯定有些人對分支這個概念比較模糊,其實你們可以這么理解,你們幾個人一起去旅行,中間走到一個三岔口,每條路可能有不同的風景,你們約定 3 天之后在某地匯聚,然后各自出發了。而這三條分叉路就可以理解成你們各自的分支,而等你們匯聚的時候相當于把你們的分支進行了合并。

2. 分支的常用操作
通常我們默認都會有一個主分支叫 master ,下面我們先來看下關于分支的一些基本操作:

新建一個叫 develop 的分支

git branch develop

這里稍微提醒下大家,新建分支的命令是基于當前所在分支的基礎上進行的,即以上是基于 mater 分支新建了一個叫做 develop 的分支,此時 develop 分支跟 master 分支的內容完全一樣。如果你有 A、B、C三個分支,三個分支是三位同學的,各分支內容不一樣,如果你當前是在 B 分支,如果執行新建分支命令,則新建的分支內容跟 B 分支是一樣的,同理如果當前所在是 C 分支,那就是基于 C 分支基礎上新建的分支。

切換到 develop 分支

git checkout develop

如果把以上兩步合并,即新建并且自動切換到 develop 分支:

git checkout -b develop

把 develop 分支推送到遠程倉庫

git push origin develop

如果你遠程的分支想取名叫 develop2 ,那執行以下代碼:

git push origin develop:develop2

但是強烈不建議這樣,這會導致很混亂,很難管理,所以建議本地分支跟遠程分支名要保持一致。

查看本地分支列表

git branch

查看遠程分支列表

git branch -r

刪除本地分支

git branch -d develop git branch -D develop (強制刪除)

刪除遠程分支

git push origin :develop

如果遠程分支有個 develop ,而本地沒有,你想把遠程的 develop 分支遷到本地:

git checkout develop origin/develop

同樣的把遠程分支遷到本地順便切換到該分支:

git checkout -b develop origin/develop

3. 基本的團隊協作流程
一般來說,如果你是一個人開發,可能只需要 master、develop 兩個分支就 ok 了,平時開發在 develop 分支進行,開發完成之后,發布之前合并到 master 分支,這個流程沒啥大問題。

如果你是 3、5 個人,那就不一樣了,有人說也沒多大問題啊,直接可以新建 A、B、C 三個人的分支啊,每人各自開發各自的分支,然后開發完成之后再逐步合并到 master 分支。然而現實卻是,你正在某個分支開發某個功能呢,這時候突然發現線上有一個很嚴重的 bug ,不得不停下手頭的工作優先處理 bug ,而且很多時候多人協作下如果沒有一個規范,很容易產生問題,所以多人協作下的分支管理規范很重要,就跟代碼規范一樣重要,以下就跟大家推薦一種我們內部在使用的一種分支管理流程 Git Flow。

4. Git Flow
準確的說 Git Flow 是一種比較成熟的分支管理流程,我們先看一張圖能清晰的描述他整個的工作流程:

第一次看上面那個圖是不是一臉懵逼?跟我當時一樣,不急,我來用簡單的話給你們解釋下。

一般開發來說,大部分情況下都會擁有兩個分支 master 和 develop,他們的職責分別是:

master:永遠處在即將發布(production-ready)狀態

develop:最新的開發狀態

確切的說 master、develop 分支大部分情況下都會保持一致,只有在上線前的測試階段 develop 比 master 的代碼要多,一旦測試沒問題,準備發布了,這時候會將 develop 合并到 master 上。

但是我們發布之后又會進行下一版本的功能開發,開發中間可能又會遇到需要緊急修復 bug ,一個功能開發完成之后突然需求變動了等情況,所以 Git Flow 除了以上 master 和 develop 兩個主要分支以外,還提出了以下三個輔助分支:

feature: 開發新功能的分支, 基于 develop, 完成后 merge 回 develop

release: 準備要發布版本的分支, 用來修復 bug,基于 develop,完成后 merge 回 develop 和 master

hotfix: 修復 master 上的問題, 等不及 release 版本就必須馬上上線. 基于 master, 完成后 merge 回
master 和 develop

什么意思呢?

舉個例子,假設我們已經有 master 和 develop 兩個分支了,這個時候我們準備做一個功能 A,第一步我們要做的,就是基于 develop 分支新建個分支:

git branch feature/A

看到了吧,其實就是一個規范,規定了所有開發的功能分支都以 feature 為前綴。

但是這個時候做著做著發現線上有一個緊急的 bug 需要修復,那趕緊停下手頭的工作,立刻切換到 master 分支,然后再此基礎上新建一個分支:

git branch hotfix/B

代表新建了一個緊急修復分支,修復完成之后直接合并到 develop 和 master ,然后發布。

然后再切回我們的 feature/A 分支繼續著我們的開發,如果開發完了,那么合并回 develop 分支,然后在 develop 分支屬于測試環境,跟后端對接并且測試的差不多了,感覺可以發布到正式環境了,這個時候再新建一個 release 分支:

git branch release/1.0

這個時候所有的 api、數據等都是正式環境,然后在這個分支上進行最后的測試,發現 bug 直接進行修改,直到測試 ok 達到了發布的標準,最后把該分支合并到 develop 和 master 然后進行發布。

以上就是 Git Flow 的概念與大概流程,看起來很復雜,但是對于人數比較多的團隊協作現實開發中確實會遇到這么復雜的情況,是目前很流行的一套分支管理流程,但是有人會問每次都要各種操作,合并來合并去,有點麻煩,哈哈,這點 Git Flow 早就想到了,為此還專門推出了一個 Git Flow 的工具,并且是開源的:

GitHub 開源地址:https://github.com/nvie/gitflow

簡單點來說,就是這個工具幫我們省下了很多步驟,比如我們當前處于 master 分支,如果想要開發一個新的功能,第一步切換到 develop 分支,第二步新建一個以 feature 開頭的分支名,有了 Git Flow 直接如下操作完成了:

git flow feature start A

這個分支完成之后,需要合并到 develop 分支,然而直接進行如下操作就行:

git flow feature finish A

如果是 hotfix 或者 release 分支甚至會自動幫你合并到 develop、master 兩個分支。

想必大家已經了解了這個工具的具體作用,具體安裝與用法我就不多提了,感興趣的可以看我下我之前寫過的一篇博客:

http://stormzhang.com/git/2014/01/29/git-flow/

5. 總結
以上就是我分享給你們的關于分支的所有知識,一個人你也許感受不到什么,但是實際工作中大都以團隊協作為主,而分支是團隊協作必備技能,而 Git Flow 是我推薦給你們的一個很流行的分支管理流程,也是我們薄荷團隊內部一直在實踐的一套流程,希望對你們有借鑒意義。

總結

以上是生活随笔為你收集整理的Git - 团队合作利器 Branch 与 Git Flow的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日韩专区在线播放 | 男女一区 | 无码人妻精品一区二区三应用大全 | 神马午夜伦 | 波多野结衣av在线免费观看 | 黄色一级网 | 欧美三级自拍 | 国产第三页 | 免费观看黄一级视频 | 尤物网址在线观看 | 久久黄页 | 青草视频在线观看视频 | 免费观看一级一片 | 懂色一区二区 | 在线成人免费 | 午夜网站在线观看 | 二区三区视频 | 国产又粗又猛又爽视频 | 人妻无码中文字幕 | 综合色av | 好了av在线 | 中文字幕在线不卡视频 | 九九亚洲 | 国产激情免费 | a∨色狠狠一区二区三区 | 欧美日本亚洲韩国国产 | 欧美亚洲国产一区 | 欧美日韩一区二区在线观看视频 | 欧美在线另类 | 18无码粉嫩小泬无套在线观看 | 免费色网| 中文资源在线观看 | 亚洲中文字幕在线一区 | 精品午夜久久久 | 亚洲av成人片色在线观看高潮 | 91香蕉一区二区三区在线观看 | 五月激情综合婷婷 | 国产男女视频在线观看 | 69黄色片| 欧美理论在线 | yjizz国产| 欧美最猛性xxxx | 在线免费视频一区 | 成人看片在线观看 | 国产一区二区福利 | 在线欧美亚洲 | 成人香蕉视频在线观看 | 久久人妻免费视频 | 日韩bbw| 国产又黄又粗又猛又爽 | 亚洲国产精品毛片av不卡在线 | 一级特黄肉体裸片 | 亚洲在线观看免费 | 四虎永久在线 | 日本美女动态图 | 又黄又骚的视频 | 久久人妻少妇嫩草av蜜桃 | 亚洲无吗av| 女人叫床高潮娇喘声录音mp3 | 欧美色吊丝 | 99插插插 | 中文字幕在线视频免费 | 38激情| 欧美精品做受xxx性少妇 | 中文文字幕一区二区三三 | 亚洲av永久一区二区三区蜜桃 | 老司机深夜福利网站 | wwwxxx黄色| 亚洲欧美激情一区二区三区 | 久久这里只有精品6 | 国产毛片一区二区三区 | 麻豆视频国产 | 国产精品456 | 一本色道久久加勒比精品 | 天天欲色 | 日韩欧美一区二区三区久久婷婷 | 欧美日韩在线视频一区二区 | 免费爱爱视频网站 | 欧美韩国日本在线 | 涩涩视频在线观看 | 亚洲精品免费在线视频 | 日本成人黄色片 | 国产激情网站 | 激情三区| 中国二级毛片 | 美女被草出水 | 韩国美女毛片 | 九九热视频在线 | 亚a在线 | av网站免费在线观看 | 婷婷色吧 | 日韩av大片在线观看 | 无码免费一区二区三区免费播放 | 精品视频免费看 | 色视频网站在线观看 | 亚洲免费区 | 成人伊人网站 | 毛片一级免费 | 都市激情综合 |