国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - 編程技術 - 淺談Git分支管理策略

淺談Git分支管理策略

2020-08-17 16:05阮一峰 編程技術

這篇文章主要介紹了淺談Git分支管理策略,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

如果你嚴肅對待編程,就必定會使用"版本管理系統"(version control system)。

眼下最流行的"版本管理系統",非git莫屬。

淺談Git分支管理策略

相比同類軟件,git有很多優點。其中很顯著的一點,就是版本的分支(branch)和合并(merge)十分方便。有些傳統的版本管理軟件,分支操作實際上會生成一份現有代碼的物理拷貝,而git只生成一個指向當前版本(又稱"快照")的指針,因此非常快捷易用。

但是,太方便了也會產生副作用。如果你不加注意,很可能會留下一個枝節蔓生、四處開放的版本庫,到處都是分支,完全看不出主干發展的脈絡。

淺談Git分支管理策略

vincent driessen提出了一個分支管理的策略,我覺得非常值得借鑒。它可以使得版本庫的演進保持簡潔,主干清晰,各個分支各司其職、井井有條。理論上,這些策略對所有的版本管理系統都適用,git只是用來舉例而已。如果你不熟悉git,跳過舉例部分就可以了。

一、主分支master

首先,代碼庫應該有一個、且僅有一個主分支。所有提供給用戶使用的正式版本,都在這個主分支上發布。

淺談Git分支管理策略

git主分支的名字,默認叫做master。它是自動建立的,版本庫初始化以后,默認就是在主分支在進行開發。

二、開發分支develop

主分支只用來分布重大版本,日常開發應該在另一條分支上完成。我們把開發用的分支,叫做develop。

淺談Git分支管理策略

這個分支可以用來生成代碼的最新隔夜版本(nightly)。如果想正式對外發布,就在master分支上,對develop分支進行"合并"(merge)。

git創建develop分支的命令:

 git checkout -b develop master

將develop分支發布到master分支的命令:

# 切換到master分支
git checkout master
# 對develop分支進行合并
git merge --no-ff develop

這里稍微解釋一下,上一條命令的--no-ff參數是什么意思。默認情況下,git執行"快進式合并"(fast-farward merge),會直接將master分支指向develop分支。

淺談Git分支管理策略

使用--no-ff參數后,會執行正常合并,在master分支上生成一個新節點。為了保證版本演進的清晰,我們希望采用這種做法。關于合并的更多解釋,請參考benjamin sandofsky的《understanding the git workflow》。

淺談Git分支管理策略

三、臨時性分支

前面講到版本庫的兩條主要分支:master和develop。前者用于正式發布,后者用于日常開發。其實,常設分支只需要這兩條就夠了,不需要其他了。

但是,除了常設分支以外,還有一些臨時性分支,用于應對一些特定目的的版本開發。臨時性分支主要有三種:

  * 功能(feature)分支

  * 預發布(release)分支

  * 修補bug(fixbug)分支

這三種分支都屬于臨時性需要,使用完以后,應該刪除,使得代碼庫的常設分支始終只有master和develop。

四、 功能分支

接下來,一個個來看這三種"臨時性分支"。

第一種是功能分支,它是為了開發某種特定功能,從develop分支上面分出來的。開發完成后,要再并入develop。

淺談Git分支管理策略

功能分支的名字,可以采用feature-*的形式命名。

創建一個功能分支:

git checkout -b feature-x develop

開發完成后,將功能分支合并到develop分支:

git checkout develop
git merge --no-ff feature-x

刪除feature分支:

git branch -d feature-x

五、預發布分支

第二種是預發布分支,它是指發布正式版本之前(即合并到master分支之前),我們可能需要有一個預發布的版本進行測試。

預發布分支是從develop分支上面分出來的,預發布結束以后,必須合并進develop和master分支。它的命名,可以采用release-*的形式。

創建一個預發布分支:

git checkout -b release-1.2 develop

確認沒有問題后,合并到master分支:

git checkout master
git merge --no-ff release-1.2
# 對合并生成的新節點,做一個標簽
git tag -a 1.2

再合并到develop分支:

git checkout develop
git merge --no-ff release-1.2

最后,刪除預發布分支:

git branch -d release-1.2

六、修補bug分支

最后一種是修補bug分支。軟件正式發布以后,難免會出現bug。這時就需要創建一個分支,進行bug修補。

修補bug分支是從master分支上面分出來的。修補結束以后,再合并進master和develop分支。它的命名,可以采用fixbug-*的形式。

淺談Git分支管理策略

創建一個修補bug分支:

git checkout -b fixbug-0.1 master

修補結束后,合并到master分支:

git checkout master
git merge --no-ff fixbug-0.1
git tag -a 0.1.1

再合并到develop分支:

git checkout develop
git merge --no-ff fixbug-0.1

最后,刪除"修補bug分支":

git branch -d fixbug-0.1

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:http://www.ruanyifeng.com/blog/2012/07/git.html

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 久久国产精品一区 | 天堂久久精品 | 欧美一级欧美三级在线观看 | 免费大片黄 | 久久精品亚洲精品国产欧美kt∨ | 精品一区二区三区免费毛片 | 久草热8精品视频在线观看 毛片黄片免费观看 | 中国a毛片| 国产精品视频入口 | 午夜视频在线免费观看 | 日韩成人在线观看视频 | 三级成人在线 | 成人精品 | 五月天婷婷色综合 | 欧洲一级毛片 | 精品免费视频 | 成人免费视频在线观看 | 国产欧美日韩在线 | 91久久精品日日躁夜夜躁国产 | 亚洲视频在线不卡 | 一区二区三区四区国产 | 国产女爽爽视频精品免费 | 日韩中文字幕在线观看 | 免费激情网站 | 美女视频黄色 | 中文字幕电影在线观看 | 欧美日韩一区二区在线观看 | 玖玖操 | 性欧美大战久久久久久久免费观看 | 亚洲清色 | 欧美日韩一区二区三区在线观看 | 亚洲成a人 | 99re热精品视频 | 国产视频第一页 | 99成人| 久久高清| 久久综合伊人 | 国产第一亚洲 | 婷婷精品久久久久久久久久不卡 | 国产精品高潮呻吟久久av野狼 | 最新黄色网址在线播放 |