Git倉庫場景專欄

MedusaSorcerer的博客


專欄目錄

專欄詳情

獨立場景開發(隔離)

場景介紹

獨立開發能夠避免代碼相互污染, 開發的都是本身分支上的代碼內容, 在獨立開發的過程當中這是最好的方式, 每一個人在本身開發的分支和本身負責的模塊上進行代碼提交, 缺點也顯而易見, 如果須要調度另外一我的開發的代碼塊功能, 則須要合併後新建分支進行測試, 最後將開發的功能塊整合在一個歸併倉庫(dev)中, 這個倉庫將會是你的測試歸併倉庫, 全部的代碼將會在這個倉庫裏面, 在測試完成後達成發版要求時, 將歸併倉庫(dev)的代碼發佈版本號至主倉庫(master), 這樣版本提交就出來了。python

場景示圖

Git 命令流程
# 準備將本地開發分支代碼同步至遠程倉庫並生成版本號提交


# 將本地代碼提交
>>> git add -A
>>> git commit -m 'commit message'
# 或者
>>> git commit -am 'commit message'


# 本地倉庫同步至我的遠程倉庫分支(能夠忽略合併的過程)
>>> git push [遠程倉庫名稱] [遠程分支名稱]


# ------------------- 發起分支合併至遠程 dev 請求 -------------------


# 推薦你是用新的倉庫進行如下操做, 在一個空文件夾執行git初始化以及遠程倉庫鏈接(高權限人員操做)
# 將遠程 master 分支 pull 至本地 master 分支(高權限人員操做)
>>> git checkout -b master [遠程倉庫名]/master


# 將遠程 dev 分支 pull 至本地 dev 分支(高權限人員操做)
>>> git checkout -b dev [遠程倉庫名]/dev


# 遠程分支 A/B/C 同步至到 本地A/B/C分支(高權限人員操做)
>>> git checkout -b [本地分支名-A] [遠程倉庫]/[遠程分支名-A]
>>> git checkout -b [本地分支名-B] [遠程倉庫]/[遠程分支名-B]
>>> git checkout -b [本地分支名-C] [遠程倉庫]/[遠程分支名-C]


# 合併至本地 dev 分支(可手動解決衝突)(高權限人員操做)
>>> git checkout dev
>>> git merge [本地分支名-A]
>>> git merge [本地分支名-B]
>>> git merge [本地分支名-C]


# dev 分支代碼推送到遠程 dev 分支, 合併工做完成(高權限人員操做)
>>> git push [遠程倉庫名] dev


# ------------------- 發佈版本號推送 -------------------


# 將本地 dev 分支不攜帶任何 commit 信息合併至本地 master 分支(高權限人員操做)
# 爲保證 master 分支上僅有版本號提交內容的commit
>>> git checkout master
>>> git merge --squash dev
>>> git add -A
>>> git commit -m 'Version: 10.2.4 發佈, 發佈時間: 2019年12月01日'
>>> git push [遠程倉庫名] master
複製代碼

歸併場景開發(非隔離)

場景介紹

這種管控模式便於將修改的代碼歸併後在本地測試, 也方便調度其餘人的的代碼塊封裝功能的函數等, 但在多人開發的同時, 有對相同文件修改的時候, 極容易形成合並衝突, 須要手動解決衝突並提交修改, 其中利弊, 自行取捨了。webpack

場景示圖

Git 命令流程
# 準備將本地開發分支代碼同步至遠程倉庫並生成版本號提交


# 將本地 dev 代碼提交
>>> git add -A
>>> git commit -m 'commit message'
# 或者
>>> git commit -am 'commit message'


# 合併遠程 dev 倉庫至本地 master, 在 merge 的時候須要對衝突的文件手動解決
>>> git checkout master
>>> git pull [遠程倉庫名] dev
>>> git merge dev


# 對合並後的 master 進行本地倉庫提交
>>> git commit -am 'commit massage'


# ------------------- 發起分支合併至遠程 dev 請求 -------------------


# 將本地 master 分支推送到遠程 dev 分支
>>> git push [遠程倉庫名] dev


# ------------------- 發佈版本號推送 -------------------


# 建立一個新的分支並關聯遠程 master 分支(高權限人員操做)
>>> git checkout -b [新的分支] [遠程倉庫]/master


# 將本地 master 分支不攜帶任何 commit 信息合併到 新的分支(高權限人員操做)
# 爲保證 master 分支上僅有版本號提交內容的commit
>>> git checkout [新的分支]
>>> git merge --squash master
>>> git add -A
>>> git commit -m 'Version: 10.2.4 發佈, 發佈時間: 2019年12月01日'
>>> git push [遠程倉庫名] master
複製代碼

經常使用的提交規範

提交信息規範
git commit -m '[提交標識] 描述信息'
複製代碼
提交標識規範
標識內容 標識描述
FEAT 新增功能
FIX 修復bug
DOCS 修改文檔
REFACTOR 代碼重構,未新增任何功能和修復任何bug
BUILD 改變構建流程,新增依賴庫、工具等(例如webpack修改)
STYLE 僅僅修改了空格、縮進等,不改變代碼邏輯
PERF 改善性能和體現的修改
CHORE 非src和test的修改
TEST 測試用例的修改
CI 自動化流程配置修改
REVERT 回滾到上一個版本
INIT 初始化項目
MERGE 合併衝突分支
DELETE 刪除操做
相關文章
相關標籤/搜索