![Git源代碼管理規(guī)范_第1頁](http://file4.renrendoc.com/view/766d281fdedc2ef35f6c8e9628448a17/766d281fdedc2ef35f6c8e9628448a171.gif)
![Git源代碼管理規(guī)范_第2頁](http://file4.renrendoc.com/view/766d281fdedc2ef35f6c8e9628448a17/766d281fdedc2ef35f6c8e9628448a172.gif)
![Git源代碼管理規(guī)范_第3頁](http://file4.renrendoc.com/view/766d281fdedc2ef35f6c8e9628448a17/766d281fdedc2ef35f6c8e9628448a173.gif)
![Git源代碼管理規(guī)范_第4頁](http://file4.renrendoc.com/view/766d281fdedc2ef35f6c8e9628448a17/766d281fdedc2ef35f6c8e9628448a174.gif)
![Git源代碼管理規(guī)范_第5頁](http://file4.renrendoc.com/view/766d281fdedc2ef35f6c8e9628448a17/766d281fdedc2ef35f6c8e9628448a175.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
年4月19日Git源代碼管理規(guī)范文檔僅供參考Git源代碼管理規(guī)范分支管理使用git進行源代碼管理,一般將某個項目的所有分支分為以下幾條主線:Master顧名思義,既然名字叫Master,那么該分支就是主分支的意思。master分支永遠(yuǎn)是production-ready的狀態(tài),即穩(wěn)定可產(chǎn)品化發(fā)布的狀態(tài)。Develop這個分支就是我們平常開發(fā)的一個主要分支了,不論是要做新的feature還是需要做bugfix,都是從這個分支分出來做。在這個分支下主要負(fù)責(zé)記錄開發(fā)狀態(tài)下相對穩(wěn)定的版本,即完成了某個feature或者修復(fù)了某個bug后的開發(fā)穩(wěn)定版本。Featurebranches這是由許多分別負(fù)責(zé)不同feature開發(fā)的分支組成的一個分支系列。newfeature主要就在這個分支系列下進行開發(fā)。當(dāng)功能點開發(fā)測試完畢之后,就會合并到develop分支去。releasebranches這個分支系列從develop分支出來,也就是預(yù)發(fā)分支。在預(yù)發(fā)狀態(tài)下,我們往往會進行預(yù)發(fā)環(huán)境下的測試,如果出現(xiàn)缺陷,那么就在該release分支下進行修復(fù),修復(fù)完畢測試經(jīng)過后,即分別并入master分支后develop分支,隨后master分支做正常發(fā)布。Hotfixbranches這個分支系列也就是我們常說的緊急線上修復(fù),當(dāng)線上出現(xiàn)bug且特別緊急的時候,就能夠從master拉出分支到這里進行修復(fù),修復(fù)完成后分別并入master和develop分支。下面這張圖將完整展示這一個流程工作原理Git的工作方式:也就是說,每次提交版本變動的時候,git會保存一個快照(snapshot)。如果文件沒有被更改,git也不會再次保存,而是提供一個到原來文件的鏈接。這樣一來,git更像是一個小型的文件系統(tǒng)。另外,git的所有操作都能夠是本地的,僅僅在將新版本的內(nèi)容上傳到服務(wù)器上時才需要連接網(wǎng)絡(luò)。Git目錄(repository)是Git保存元數(shù)據(jù)和對象數(shù)據(jù)庫的地方。這也是Git最重要的部分。工作目錄(workingdirectory)是項目某個版本的內(nèi)容。暫存區(qū)(stagingarea)是一個簡單的文件,一般包含在Git目錄中。其中存儲了將要進入下一次提交的信息。Git的基本工作流程如下:1.在工作目錄中修改文件。2.標(biāo)識(stage)文件,并將文件快照添加到暫存區(qū)。3.執(zhí)行commit,將獲取暫存區(qū)中的文件,并將快照永久保存到Git目錄中。常見命令創(chuàng)立工程>>gitinit提交修改>>gitadd后就從修改變?yōu)闀捍?gt;>gitcommit后就從暫存變?yōu)樘峤?。提交?guī)范在commit時,如果有對應(yīng)PR(需求項),請在第一行寫上PR號,然后再描述信息(另起行),并把涉及到改動的文件名附上。回溯改錯了,不過還沒有g(shù)itadd>>gitreset--hard改錯了,已經(jīng)gitadd>>gitreset-q[files](其實就是gitadd的反向操作)改錯了,已經(jīng)gitcommit>>gitreset--softHEAD^(其實就是gitcommit的反向操作)已經(jīng)gitcommit,忘記寫注釋(PR)或者漏提交了部分文件如果添加注釋能夠直接執(zhí)行命令gitcommit--amend,填寫注釋保存如果添加文件先執(zhí)行g(shù)itadd后執(zhí)行g(shù)itcommit--amend創(chuàng)立分支查看分支>>gitbranch切換分支>>gitcheckout[branchname]創(chuàng)立分支(在當(dāng)前代碼的基礎(chǔ)上)>>gitbranch[branchname]合并分支先檢出目標(biāo)分支再把其它分支合并進去>>gitcheckout[branchname]>>gitmerge[other_branch]刪除分支>>gitbranch-d[branchname](不能刪?用這個!)>>gitbranch-D[branchname]標(biāo)簽管理>>gittagv1.0遠(yuǎn)程操作克隆遠(yuǎn)程庫>>gitclone定義遠(yuǎn)程庫>>gitremote從遠(yuǎn)程庫取回更新>>gitfetch從遠(yuǎn)程庫取回更新并合并>>gitpull推送至遠(yuǎn)程庫>>gitpush操作流程(本地)準(zhǔn)備工作初始化目錄>>gitinit>>gitaddreadme.md>>gitcommit-m'masterinit'然后從master分支中拉出develop分支>>gitcheckout-bdevelop功能點開發(fā)有新的需求或功能點需要開發(fā)時,從最新develop分支中拉出一個feature分支>>gitcheckout-b[featurename]完成feature開發(fā)后需要對feature分支進行合并操作>>gitcheckoutdevelop>>gitmerge[featurename]處理沖突當(dāng)合并分支出現(xiàn)沖突時,需要手動將文件沖突的部分進行修改。對修改后的文件保存并重新提交。產(chǎn)品發(fā)布當(dāng)develop分支已經(jīng)達到了一個能夠發(fā)布的狀態(tài),將最新的develop分支拉出來成為一個release分支>>gitcheckout-brelease假設(shè)需要一些環(huán)境配置,新建配置文件并提交>>gitaddrelease.config>>gitcommit-m'release1'當(dāng)遇到一些預(yù)發(fā)環(huán)境下的bug,這個時候我就直接在release分支下進行修復(fù)演進,如果bug問題很大,則需要重新并入develop中,拉出新的feature進行開發(fā)重構(gòu)。如果預(yù)發(fā)一切正常,需要將release分支同時并入master分支和develop分支,master分支供線上發(fā)布,develop分支供下次開發(fā)演進。>>gitcheckoutmaster>>gitmerge[releasename]>>gitcheckoutdevelop>>gitmerge[releasename]線上bug熱修復(fù)當(dāng)碰到一些線上意想不到的bug,需要緊急修復(fù)時,就直接從master分支拉出hotfixes分支進行修復(fù)。>>gitcheckoutmaster>>gitcheckout-b[hotfixname]bug修復(fù)完畢,測試經(jīng)過后我們將分支合并到master和develop中去。>>gitcheckoutdevelop>>gitmerge[hotfixname]>>gitcheckoutmaster>>gitmerge[hotfixname]遠(yuǎn)程操作遠(yuǎn)程操作的5個常見命令gitclonegitremotegitfetchgitpullgitpush從遠(yuǎn)程主機克隆一個版本庫>>gitclone<版本庫的網(wǎng)址>該命令會在本地主機生成一個目錄,與遠(yuǎn)程主機的版本庫同名。管理主機名為了便于管理,Git要求每個遠(yuǎn)程主機都必須指定一個主機名。不帶選項的時候,gitremote命令列出所有遠(yuǎn)程主機。將更新取回本地>>gitfetch<遠(yuǎn)程主機名>默認(rèn)情況下,gitfetch取回所有分支(branch)的更新。如果只想取回特定分支的更新,能夠指定分支名。>>gitfetch<遠(yuǎn)程主機名><分支名>gitbranch命令的-r選項,能夠用來查看遠(yuǎn)程分支,-a選項查看所有分支。取回遠(yuǎn)程主機的更新以后,能夠在它的基礎(chǔ)上,使用gitcheckout命令創(chuàng)立一個新的分支。>>gitcheckout-bnewBrachorigin/master也能夠使用gitmerge命令或者gitrebase命令,在本地分支上合并遠(yuǎn)程分支。>>gitmergeorigin/master或者>>gitrebaseorigin/master取回更新同時合并到本地gitpull命令的作用是,取回遠(yuǎn)程主機某個分支的更新,再與本地的指定分支合并。>>gitpull<遠(yuǎn)程主
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年按摩頭盔腦波放松行業(yè)深度調(diào)研及發(fā)展戰(zhàn)略咨詢報告
- 2025-2030年即食醬香餅行業(yè)跨境出海戰(zhàn)略研究報告
- 2025-2030年聽力與視力健康檢查企業(yè)制定與實施新質(zhì)生產(chǎn)力戰(zhàn)略研究報告
- 2025-2030年文化節(jié)慶主題纜車企業(yè)制定與實施新質(zhì)生產(chǎn)力戰(zhàn)略研究報告
- 2025-2030年手術(shù)室照明遠(yuǎn)程技術(shù)支持行業(yè)深度調(diào)研及發(fā)展戰(zhàn)略咨詢報告
- 2025-2030年插畫書籍出版行業(yè)深度調(diào)研及發(fā)展戰(zhàn)略咨詢報告
- 2025-2030年手工涼皮快閃店行業(yè)跨境出海戰(zhàn)略研究報告
- 2025-2030年堅果物流配送中心行業(yè)跨境出海戰(zhàn)略研究報告
- 2025-2030年手工DIY工坊行業(yè)深度調(diào)研及發(fā)展戰(zhàn)略咨詢報告
- 現(xiàn)代商業(yè)助力生態(tài)農(nóng)業(yè)發(fā)展的策略
- DCMM練習(xí)題練習(xí)試題
- 《工業(yè)化建筑施工階段碳排放計算標(biāo)準(zhǔn)》
- GB/T 33761-2024綠色產(chǎn)品評價通則
- 地下停車場充電樁技術(shù)方案建議書
- 幼兒園設(shè)施設(shè)備安全教育
- 廢舊保溫棉處置合同范例
- 《人工智能簡述》課件
- 《軌道交通工程盾構(gòu)施工技術(shù)》 課件 項目5 盾構(gòu)隧道防水施工
- 2024年數(shù)據(jù)編織價值評估指南白皮書-Aloudata
- 四川省算力基礎(chǔ)設(shè)施高質(zhì)量發(fā)展行動方案(2024-2027年)
- 人教版八年級英語上冊Unit1-10完形填空閱讀理解專項訓(xùn)練
評論
0/150
提交評論