成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

超實用的代碼版本管理規范流程

新聞
版本管理(Revision control)是一種軟件工程方法,在開發的過程中,確保由不同開發人員編輯的同一檔案都得到更新。代碼版本管理其實就是我們在日常的開發過程中,將每天、每個階段、每個功能等要求完成之后,將我們的代碼再提供給他人的一種行為。

版本管理(Revision control)是一種軟件工程方法,在開發的過程中,確保由不同開發人員編輯的同一檔案都得到更新。代碼版本管理其實就是我們在日常的開發過程中,將每天、每個階段、每個功能等要求完成之后,將我們的代碼再提供給他人的一種行為。

這個行為的目的就是,讓每一個人的開發過程都有據可查,最后實現多人合作開發的目的。

目前市面上比較流行的是通過 Git 進行代碼版本管理,因為它易于學習,占用內存小,具有閃電般快速的性能,

規范且流程化的版本管理,不僅能有效的提升代碼質量,而且還能幫助項目團隊有序協同,輕松提升研發效能,那么Git 代碼版本管理的規范化流程有哪些呢?

基于 Git 的代碼版本管理主要包括:代碼庫的分布、人員角色的劃分、代碼提交合并流程、代碼沖突處理、分支管理。

代碼庫分類

根據代碼庫分布的位置及作用,分為以下幾類:

  • 主倉庫:位于服務端,所有開發的代碼最終都要合到主倉庫。
  • 個人代碼庫(服務端):從主倉庫 fork 出來,位于服務端。每個人自已開發的代碼,由本地的 Git 庫 push 到每個人自己的個人代碼庫(服務端),再由個人代碼庫(服務端)合入主倉庫。
  • 個人工作庫:位于每個開發人員的開發機器,從個人代碼庫(服務端)clone 到本地。每個開發人員開發的代碼,先 commit 到個人工作庫,再由個人工作庫 push 到個人代碼庫(服務端)。

人員角色分類

這里說的角色,都是人員在主倉庫上的角色。基于簡化的原則,人員分為三類:

  • Owner:擁有主倉庫的所有權限。
  • Committer:具有將開發人員的合并需求(PR)合入主倉庫的權限。基于安全考慮,我們設置為只能通過 PR 的方式將代碼合入主倉庫,而不能直接 push 到主倉庫。
  • Developer:只能從自己的個人代碼庫(服務端)提交合并代碼的請求(PR),是否能夠合入,由 Committer 進行審核。

以 Gitee 企業版為例,Developer 進行 PR 后有權限的 Committer 需要對代碼進行審查,審查通過后方可進行合并。

 

超實用的代碼版本管理規范流程

基本流程

在主倉庫已經存在的情況下,日常操作流程如下:

  • 開發人員從主倉庫 fork 出自己的個人代碼庫。
  • 開發人員將自己的個人代碼庫 clone 到本地,即個人工作庫。
  • 開發人員在開發了新代碼后(包括新增和修改),先將代碼 commit 到自己的個人工作庫,再由個人工作庫 push 到個人代碼庫。
  • 開發人員提交從個人工作庫到主倉庫的 PR,Committer 審核后,決定是否將 PR 合入主倉庫。
  • 每個開發人員從主倉庫 pull 最新代碼到個人工作庫。

分支管理

  • 主倉庫缺省的 master 分支,是用來向生產環境發布的,所有合入的代碼,原則上都必須是穩定的。
  • 主倉庫除了 master 分支外,至少還要有一個活動分支,命名建議為:br_工程名_active,平時日常的開發都基于活動分支開發。即從個人工作庫提交 PR 到主倉庫時,指向的是主倉庫的活動分支。活動分支測試穩定后,將主倉庫的活動分支通過 PR 的形式,合并到主倉庫的 master 分支,同時打上 tag。
  • 如果軟件運行過程中發現必須立即修改的 Bug,則從主倉庫的 master 分支中,拉出一個 bugfix 分支。為修復這個 Bug 的所有開發,都基于 bugfix 分支。待 bugfix 分支開發完成,并測試穩定后,將 bugfix 分支以 PR 的方合入主倉庫的 master 分支。然后刪除 bugfix 分支,視情況決定是否打 tag。
  • 在生產開發協作的實際過程中,出于內部控制的考量,往往需要自定義擁有某些關鍵分支推送(push)和合并(merge)權限的人群。

以 Gitee企業版為例,可以采用「分支狀態」中的「保護分支」功能。被設為保護分支之后,該分支只允許對應的「保護分支規則」內選中的倉庫成員對此分支進行合并/推送操作。

 

超實用的代碼版本管理規范流程

 

超實用的代碼版本管理規范流程

常見問題

此部分內容會根據情況進行相應的增加。

活動分支合入主分支時發生沖突

產生原因

平時基于活動分支開發,如果這個過程中為了修復 Bug 而拉了一個 bugfix 分支,當 bugfix 分支開發完成并合入 master 分支后,如果 bugfix 分支和活動分支修改了相同的文件,則在活動分支合入 master 分支時就會產生沖突。

解決方法

  1. 從個人代碼庫(服務端)clone 一個庫到本地,即專門用于合并的個人工作庫。(也可以用之前的個人工作庫,但初學都容易混淆,建議單獨 clone 一個。)
  2. 從主倉庫的活動分支上 pull 最新的代碼到本地。
  3. 從主倉庫的 master 分支上 pull 最新的代碼到本地。
  4. 此時會產生沖突,手工修復沖突,然后先 commit 到本地的個人工作庫,再 push 到個人代碼庫(服務端)。
  5. 提交從個人工作庫(服務端)到主倉庫的 PR(此時不會再有沖突),然后由 Committer 審核后將PR合入主倉庫。

不單是在研發團隊的工作中,在開源項目中也同樣需要規范的版本管理。而對初學者而言,我們建議在開始進行實踐小項目的階段即進行規范的版本管理,因為在以后的工作中代碼版本管理將會是一項非常重要的技能。

責任編輯:未麗燕 來源: 今日頭條
相關推薦

2024-02-19 18:04:32

Git功能項目

2015-07-14 09:29:44

圖標設計

2025-06-12 10:27:02

2015-07-28 09:37:42

設計app

2022-08-02 07:48:06

容器鏡像版本

2023-09-04 13:55:44

分支masterhotfix

2019-07-02 10:36:30

JavaScript硬件開發

2009-08-25 10:27:29

IT管理流程企業內控JP1

2015-08-07 10:22:45

Git規范流程管理策略

2010-07-08 13:39:36

LinuxUnix快捷鍵

2025-01-07 09:00:00

2023-01-29 09:18:14

ScrollendJavaScript事件

2022-07-29 09:01:20

Chrome試源代碼調試技巧

2015-08-06 10:28:24

git規范流程

2011-01-10 10:57:33

WebPHPJavaScript

2022-01-17 10:50:15

Python代碼內存

2018-09-07 23:38:45

小程序開發框架

2020-08-27 13:45:24

Linux監控工具命令

2019-08-16 09:22:38

技術調試互聯網

2019-05-21 15:28:00

Tomcat腳本權限
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久成人国产 | 日韩成人免费 | 国产免费让你躁在线视频 | 亚洲国产欧美日韩 | 男女羞羞视频大全 | 99热最新网址 | 午夜天堂精品久久久久 | 国产片侵犯亲女视频播放 | 成人免费观看男女羞羞视频 | 日韩一级欧美一级 | 999久久久精品 | 欧美亚洲视频在线观看 | 黑人巨大精品欧美黑白配亚洲 | 亚洲视频国产 | 96av麻豆蜜桃一区二区 | 精品国产第一区二区三区 | 中文字幕一区在线观看视频 | 亚洲欧美高清 | 天天操夜夜操 | 欧美日韩成人一区二区 | 一级a毛片| 国产精品美女久久久 | 一区二区视频 | 精品无码久久久久国产 | 中文字幕国产精品 | 日韩成人av在线 | 国产农村妇女毛片精品久久麻豆 | 天天av天天好逼 | 日本特黄a级高清免费大片 成年人黄色小视频 | 久久久久久99| 久久精品一区二区三区四区 | 亚洲综合色视频在线观看 | 久久99精品久久久久久国产越南 | 97人人超碰| 久久成人激情 | 国产激情视频网站 | 久久专区 | 自拍偷拍欧美 | 精品一区二区视频 | 成人h免费观看视频 | 4hu最新网址 |