Git源代碼管理規(guī)范_第1頁(yè)
Git源代碼管理規(guī)范_第2頁(yè)
Git源代碼管理規(guī)范_第3頁(yè)
已閱讀5頁(yè),還剩4頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、Git 源代碼管理標(biāo)準(zhǔn)一、 分支管理使用 git 進(jìn)行源代碼管理,一般將某個(gè)工程的所有分支分為以下幾條主線:1. Master顧名思義,既然名字叫 Master ,那么該分支就是主分支的意思。 master 分支永遠(yuǎn)是 production-ready 的狀態(tài),即穩(wěn)定可產(chǎn)品化發(fā)布的狀態(tài)。2. Develop這個(gè)分支就是我們平常開發(fā)的一個(gè)主要分支了, 不管是要做新的 feature 還是需要做 bug fix ,都是從這個(gè)分支分出來做。在這個(gè)分支下主要負(fù)責(zé)記錄開發(fā)狀態(tài)下相對(duì)穩(wěn) 定的版本,即完成了某個(gè)feature 或者修復(fù)了某個(gè) bug 后的開發(fā)穩(wěn)定版本。3. Feature branches這

2、是由許多分別負(fù)責(zé)不同feature 開發(fā)的分支組成的一個(gè)分支系列。 new feature 主要就在這個(gè)分支系列下進(jìn)行開發(fā)。當(dāng)功能點(diǎn)開發(fā)測(cè)試完畢之后,就會(huì)合并到 develop 分支去。4. release branches這個(gè)分支系列從 develop 分支出來,也就是預(yù)發(fā)分支。在預(yù)發(fā)狀態(tài)下,我們往往會(huì)進(jìn) 行預(yù)發(fā)環(huán)境下的測(cè)試,如果出現(xiàn)缺陷,那么就在該 release 分支下進(jìn)行修復(fù),修復(fù)完 畢測(cè)試通過后,即分別并入 master 分支后 develop 分支,隨后 master 分支做正常發(fā) 布。5. Hotfix branches這個(gè)分支系列也就是我們常說的緊急線上修復(fù),當(dāng)線上出現(xiàn) bug

3、 且特別緊急的時(shí)候, 就可以從 master 拉出分支到這里進(jìn)行修復(fù),修復(fù)完成后分別并入 master 和 develop 分支。面這張圖將完整展示這一個(gè)流程kid LUi tbrenc-wsdevelopreleasebrantheimasterOnly buofw 燼tfer IDU1tD(branch for !FiomtHt point cm hexx rease- mean t the f<4c3j«pBuqfiKS from me I. bra ncJi my be ontnijojSily rwfwd back irtc 4evelopSwa bug1ix?(j

4、forproouctro-n: ihafw 0.1IrcfiracrMij buqhx in dewlapfor futur ere*e»se工作原理Git的工作方式:Checkins over timej Verdon 3 Version 4Version 5|file A也就是說,每次提交版本變動(dòng)的時(shí)候,git會(huì)保存一個(gè)快照(snapshot)。如果文件沒有被更改,git也不會(huì)再次保存,而是提供一個(gè)到原來文件的鏈接。這樣一來,git更像是一個(gè)小型的文件系統(tǒng)。此外,git的所有操作都可以是本地的,僅僅在將新版本的內(nèi)容上傳到效勞器上時(shí)才需要連接網(wǎng)絡(luò)。Local Operations工

5、作目錄(worki ng directory )是工程某個(gè)版本的內(nèi)容。暫存區(qū)(staging area )是一個(gè)簡(jiǎn)單的文件,通常包含在Git目錄中。其中存儲(chǔ)了將要進(jìn)入下一次提交的信息。*CE)43Git的根本工作流程如下:1.在工作目錄中修改文件。2. 標(biāo)識(shí)stage文件,并將文件快照添加到暫存區(qū)。3. 執(zhí)行commit,將獲取暫存區(qū)中的文件,并將快照永久保存到Git目錄中。三、常用命令1. 創(chuàng)立工程>> git init2. 提交修改>> git add后就從修改變?yōu)闀捍?gt;> git commit后就從暫存變?yōu)樘峤弧?. 提交標(biāo)準(zhǔn)在commit時(shí),如果有對(duì)

6、應(yīng) PR 需求項(xiàng),請(qǐng)?jiān)诘谝恍袑懮螾R號(hào),然后再描述信息另起行,并把涉及到改動(dòng)的文件名附上。4. 回溯改錯(cuò)了,不過還沒有g(shù)it add>> git reset -hard改錯(cuò)了,已經(jīng) git add>> git reset -q files其實(shí)就是git add的反向操作>> git reset -soft HEADA 其實(shí)就是 git commit的反向操作 已經(jīng)git commit ,忘記寫注釋PR或者漏提交了局部文件如果添加注釋可以直接執(zhí)行命令git commit -amend,填寫注釋保存如果添加文件先執(zhí)行 git add 后執(zhí)行 git commit

7、 -amend5. 創(chuàng)立分支查看分支>> git branch切換分支>> git checkout branch name創(chuàng)立分支 在當(dāng)前代碼的根底上 >> git branch branch name6. 合并分支先檢出目標(biāo)分支再把其他分支合并進(jìn)去>> git checkout branch name>> git merge other_branch7. 刪除分支>> git branch -d branch name 不能刪用這個(gè)! >> git branch -D branch name8. 標(biāo)簽管理9

8、. 遠(yuǎn)程操作克隆遠(yuǎn)程庫(kù)>> git clone定義遠(yuǎn)程庫(kù)>> git remote從遠(yuǎn)程庫(kù)取回更新>> git fetch從遠(yuǎn)程庫(kù)取回更新并合并>> git pull推送至遠(yuǎn)程庫(kù)>> git push四、操作流程 本地 1. 準(zhǔn)備工作初始化目錄>> git init>> git add>> git commit -m 'master init'然后從 master 分支中拉出 develop 分支>> git checkout -b develop分支2. 功能點(diǎn)開發(fā)有新

9、的需求或功能點(diǎn)需要開發(fā)時(shí), 從最新 develop 分支中拉出一個(gè) feature>> git checkout -b feature name完成 feature 開發(fā)后需要對(duì) feature 分支進(jìn)行合并操作>> git checkout develop >> git merge feature name3. 處理沖突 當(dāng)合并分支出現(xiàn)沖突時(shí),需要手動(dòng)將文件沖突的局部進(jìn)行修改。對(duì)修改后的文件保存 并重新提交。4. 產(chǎn)品發(fā)布當(dāng) develop 分支已經(jīng)到達(dá)了一個(gè)可以發(fā)布的狀態(tài), 將最新的 develop 分支拉出來成為 一個(gè) release 分支>&g

10、t; git checkout -b release假設(shè)需要一些環(huán)境配置,新建配置文件并提交>> git add>> git commit -m 'release1'當(dāng)遇到一些預(yù)發(fā)環(huán)境下的bug ,這個(gè)時(shí)候我就直接在release 分支下進(jìn)行修復(fù)演進(jìn),如果 bug 問題很大,那么需要重新并入 develop 中,拉出新的 feature 進(jìn)行開發(fā)重構(gòu)。如果預(yù)發(fā)一切正常, 需要將 release 分支同時(shí)并入 master 分支和 develop 分支, master 分支供線上發(fā)布, develop 分支供下次開發(fā)演進(jìn)。>> git chec

11、kout master>> git merge release name>> git checkout develop>> git merge release name5. 線上 bug 熱修復(fù)當(dāng)碰到一些線上意想不到的bug ,需要緊急修復(fù)時(shí),就直接從master 分支拉出hotfixes 分支進(jìn)行修復(fù)。>> git checkout masterbug 修復(fù)完畢,測(cè)試通過后我們將分支合并到master 和 develop 中去。>> git checkout develop>> git merge hotfix n am

12、e>> git checkout master>> git merge hotfix n ame五、遠(yuǎn)程操作遠(yuǎn)程操作的5個(gè)常用命令git clonegit remotegit fetchgit pullgit push1. 從遠(yuǎn)程主機(jī)克隆一個(gè)版本庫(kù)>> git clo ne < 版本庫(kù)的網(wǎng)址 >該命令會(huì)在本地主機(jī)生成一個(gè)目錄,與遠(yuǎn)程主機(jī)的版本庫(kù)同名。2. 管理主機(jī)名為了便于管理, Git要求每個(gè)遠(yuǎn)程主機(jī)都必須指定一個(gè)主機(jī)名。3. 將更新取回本地>> git fetch <遠(yuǎn)程主機(jī)名 >默認(rèn)情況下, git fetch 取回

13、所有分支 branch 的更新。如果只想取回特定分支的 更新,可以指定分支名。>> git fetch <遠(yuǎn)程主機(jī)名 > < 分支名 >git branch 命令的 -r 選項(xiàng),可以用來查看遠(yuǎn)程分支,-a 選項(xiàng)查看所有分支。取回遠(yuǎn)程主機(jī)的更新以后,可以在它的根底上,使用git checkout 命令創(chuàng)立一個(gè)新的分支。>> git checkout -b newBrach origin/master也可以使用 git merge 命令或者 git rebase 命令,在本地分支上合并遠(yuǎn)程分支。>> git merge origin/master或者>> git rebase origin/master4. 取回更新同時(shí)合并到本地git pull 命令的作用是,取回遠(yuǎn)程主機(jī)某個(gè)分支的更新,再與本地的指定分支合并。>> git pull < 遠(yuǎn)程主機(jī)名 > <

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論