亚洲好骚综合-亚洲黄色录像-亚洲黄色网址-亚洲黄色网址大全-99久久99久久-99久久99久久精品国产

您的位置:軟件測試 > 開源軟件測試 > 開源配置管理工具 >
介紹一個成功的Git分支模型
作者:網絡轉載 發布時間:[ 2013/4/17 13:35:07 ] 推薦標簽:

  功能分支通常存在于開發者的軟件庫,而不是在源代碼庫中。

  創建一個功能分支

  開始一項功能的開發工作時,基于develop創建分支。

$ git checkout -b myfeature develop
Switched to a new branch "myfeature"

  合并一個功能到develop分支

  完成的功能可以合并進develop分支,以明確加入到未來的發布:

 
$ git checkout develop
Switched to branch 'develop'
$ git merge --no-ff myfeature
Updating ea1b82a..05e9557
(Summary of changes)
$ git branch -d myfeature
Deleted branch myfeature (was 05e9557).
$ git push origin develop

  –no-ff標志導致合并操作創建一個新commit對象,即使該合并操作可以fast-forward。這避免了丟失這個功能分支存在的歷史信息,將該功能的所有提交組合在一起。 比較:

  后一種情況,不可能從Git歷史中看到哪些提交一起實現了一個功能——你必須手工閱讀全部的日志信息。如果對整個功能進行回退 (比如一組提交),后一種方式會是一種真正頭痛的問題,而使用–no-ffflag的情況則很容易.

  是的,它會創建一個新的(空)提交對象,但是收益遠大于開銷。

  不幸的是,我還沒找到一種方法,讓–no-ff時作為合并操作的默認選項,但它應該是可行的。

  Release 分支

  Release分支可能從develop分支分離而來,但是一定要合并到develop和master分支上,它的習慣命名方式為:release-*。

  Release分支是為新產品的發布做準備的。它允許我們在后時刻做一些細小的修改。他們允許小bugs的修改和準備發布元數據(版本號,開發時間等等)。當在Release分支完成這些所有工作以后,對于下一次打的發布,develop分支接收features會更加明確。

  從develop分支創建新的Release分支的關鍵時刻是develop分支達到了發布的理想狀態。至少所有這次要發布的features必須在這個點及時合并到develop分支。對于所有未來準備發布的features必須等到Release分支創建以后再合并。

  在Release分支創建的時候要為即將發行版本分配一個版本號,一點都不早。直到那時,develop分支反映的變化都是為了下一個發行版,但是在Release分支創建之前,下一個發行版到底叫0.3還是1.0是不明確的。這個決定是在Release分支創建時根據項目在版本號上的規則制定的。

  創建一個release分支

  Release分支是從develop分支創建的。例如,當前產品的發行版本號為1.1.5,同事我們有一個大的版本即將發行。develop 分支已經為下次發行做好了準備,我們得決定下一個版本是1.2(而不是1.1.6或者2.0)。所以我們將Release分支分離出來,給一個能夠反映新版本號的分支名。

$ git checkout -b release-1.2 develop
Switched to a new branch "release-1.2"
$ ./bump-version.sh 1.2
Files modified successfully, version bumped to 1.2.
$ git commit -a -m "Bumped version number to 1.2"
[release-1.2 74d9424] Bumped version number to 1.2
1 files changed, 1 insertions(+), 1 deletions(-)

  創建新分支以后,切換到該分支,添加版本號。這里,bump-version.sh 是一個虛構的shell腳本,它可以復制一些文件來反映新的版本(這當然可以手動改變–目的是修改一些文件)。然后版本號被提交。

  這個新分支可能會存在一段時間,直到該發行版到達它的預定目標。在此期間,bug的修復可能被提交到該分支上(而不是提交到develop分支上)。在這里嚴格禁止增加大的新features。他們必須合并到develop分支上,然后等待下一次大的發行版。

  完成一個release分支

  當一個release分支準備好成為一個真正的發行版的時候,有一些工作必須完成。首先,release分支要合并到master上(因為每一次提交到master上的都是一個新定義的發行版,記住)。然后,提交到master上必須打一個標簽,以便以后更加方便的引用這個歷史版本。后,在release分支上的修改必須合并到develop分支上,以便未來發行版也包含這些bugs的修復。

上一頁12345下一頁
軟件測試工具 | 聯系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd
主站蜘蛛池模板: 成人黄色片网站 | 色五月激情五月 | 久久免费视频一区 | 好男人www社区影视在线 | 成人在线精品视频 | 中文字幕在线视频观看 | 五月婷在线观看 | 亚洲欧美日韩在线中文一 | gogo大胆全球裸xxxx | 亚洲有码转帖 | 青青草综合在线 | 在线免费观看日韩视频 | 成年人羞羞视频 | 色偷偷人人澡久久天天 | 中文字幕日韩一区二区三区不卡 | 在线亚洲日产一区二区 | 在线观看老湿视频福利 | 国产精品嫩草影院在线观看免费 | 亚洲伦理一二三四 | 日本又色又爽又黄的大片 | 国产90后美女露脸在线观看 | 日韩精品一区二区三区四区 | 又黄又爽一线毛片免费观看 | 意大利xxxx性hd极品 | 日韩欧美成人免费中文字幕 | 色婷五月综激情亚洲综合 | 亚洲一级毛片免费看 | 黄网在线观看免费 | 国产女人伦码一区二区三区不卡 | 亚洲人成网站色7799在线播放 | 欧美黑人xxxxxxxxxx | 国产大臿蕉香蕉大视频女 | 亚洲国产成人精品一区二区三区 | 老司机成人午夜精品福利视频 | 毛片在线免费视频 | 日韩欧美中文字幕一区 | 波多野结衣久久一区二区 | 欧美大胆a视频 | 日本天堂免费观看 | 成年人免费在线播放 | 亚洲日本va中文字幕婷婷 |