微信號(hào):GitShare
創(chuàng)新互聯(lián)公司是一家從事企業(yè)網(wǎng)站建設(shè)、成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)、行業(yè)門(mén)戶(hù)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)制作的專(zhuān)業(yè)網(wǎng)站制作公司,擁有經(jīng)驗(yàn)豐富的網(wǎng)站建設(shè)工程師和網(wǎng)頁(yè)設(shè)計(jì)人員,具備各種規(guī)模與類(lèi)型網(wǎng)站建設(shè)的實(shí)力,在網(wǎng)站建設(shè)領(lǐng)域樹(shù)立了自己獨(dú)特的設(shè)計(jì)風(fēng)格。自公司成立以來(lái)曾獨(dú)立設(shè)計(jì)制作的站點(diǎn)上千家。
微信公眾號(hào):愛(ài)折騰的稻草
如有問(wèn)題或建議,請(qǐng)?jiān)诠娞?hào)留言[1]
一個(gè)項(xiàng)目的代碼庫(kù)應(yīng)該有且只有一個(gè)主分支,所有提供給用戶(hù)使用的正式版本,都是在這個(gè)主分支上,我們稱(chēng)為Master分支。
日常使用的開(kāi)發(fā)分支。這個(gè)分支可以用來(lái)生成代碼的隔夜版本,如果開(kāi)發(fā)功能測(cè)試完成后,想正式對(duì)外發(fā)布,就在Master分支上,對(duì)Develop分支進(jìn)行“合并”(Merge)。
除了日常開(kāi)發(fā)設(shè)置分支外,還有一種臨時(shí)分支,以應(yīng)對(duì)一些特定目的的版本開(kāi)發(fā)。
功能分支:它是為了開(kāi)發(fā)某種特定的功能,從Develop分支上分出來(lái)的。開(kāi)發(fā)完成后,合并到Develop分支上。其命名規(guī)范:feature-*
預(yù)發(fā)布分支:在發(fā)布到正式版本之前,我們可能需要有一個(gè)預(yù)發(fā)布版本進(jìn)行測(cè)試。預(yù)發(fā)布分支是從Develop分支上分出來(lái)的,預(yù)發(fā)布結(jié)束后,必須合并到Develop分支和Master分支。其命名規(guī)范:release-*
修補(bǔ)Bug分支:軟件正式發(fā)布后,出現(xiàn)一些Bug,這時(shí)就需要?jiǎng)?chuàng)建一個(gè)分支,來(lái)進(jìn)行Bug修復(fù)。修復(fù)Bug分支是從Master分支上分出來(lái)的,修補(bǔ)結(jié)束后,在合并到Develop和Master分支。其命名規(guī)范:fixbug-*
Git創(chuàng)建develop分支
develop分支是從master分支中分出來(lái)的,其命令:
git checkout -b develop master
將develop分支發(fā)布到master分支
# 切換到master分支
git checkout master
# 對(duì)develop分支進(jìn)行合并
git merge --no-ff develop
Git Merge在默認(rèn)情況下是執(zhí)行“快進(jìn)式合并”,也就是將master分支直接指向develop分支,并沒(méi)有建立新的節(jié)點(diǎn)。
為了保證版本演進(jìn)的清晰,我們一般采用正常合并,即使用--no-ff參數(shù),master分支上生成一個(gè)新節(jié)點(diǎn)。
Git創(chuàng)建功能分支
feature分支是蟲(chóng)develop分支中分出來(lái)的,其命令:
# x 版本號(hào),如:1.1
git checkout -b feature-x develop
將feature分支合并到develop分支
開(kāi)發(fā)完成后,需要將功能分支合并到開(kāi)發(fā)分支,其命令:
git checkout develop
git merge no-ff feature-x
刪除功能分支
git branch -d feature-x
Git創(chuàng)建預(yù)發(fā)布分支
預(yù)發(fā)布分支是從develop分支中分出來(lái)的,其命令:
# x 版本號(hào),如:1.1
git checkout -b release-x develop
將預(yù)發(fā)布分支合并到master分支
預(yù)發(fā)布分支測(cè)試沒(méi)有問(wèn)題后,需要合并到master分支,其命令:
git checkout master
git merge --no-ff release-x
# 對(duì)合并生成的新節(jié)點(diǎn),做一個(gè)標(biāo)簽(打上版本標(biāo)簽)
git tag -a x
刪除預(yù)發(fā)布分支
git branch -d release-x
Git創(chuàng)建修復(fù)Bug分支
修復(fù)Bug分支是從master分支中分出來(lái)的,其命令:
# x版本號(hào),如:1.1.1
git checkout -b fixbug-x master
將修復(fù)Bug分支合并到master分支
bug修復(fù)完成后,需要合并到master分支,其命令:
git checkout master
git merge --no-ff fixbug-x
git tag x
將修復(fù)bug分支合并到develop分支
git checkout develop
git merge --no-ff fixbug-x
刪除修復(fù)bug分支
git branch -d fixbug-x
在Git系統(tǒng)中合并代碼有g(shù)it merge 和git rebase兩種方式。為什么我們不講git rebase呢,因?yàn)樗怀S谩?/p>
rebase的優(yōu)勢(shì)在于項(xiàng)目的歷史提交信息非常完整。
rebase的劣勢(shì)在于安全性和可跟蹤性。
rebase的黃金法則:==絕對(duì)不要在公共分支上使用它==。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線(xiàn),公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。