從SVN遷移至Git

公司的版本控制從svn遷移至git也有差不多快一個(gè)月了,每每在代碼合并 這個(gè)問(wèn)題上,屢屢會(huì)出出問(wèn)題,總結(jié)起來(lái),自己在開發(fā)的時(shí)候,還是svn時(shí)代的那套思想,集中式版本控制,在分布式的路上還屬步履蹣跚。
根據(jù)阮一峰的日志--Git分支管理策略,作了一些總結(jié)。
目前對(duì)Git版本控制的使用, 并不是特別合理與順利,都是在熟悉中,最重要的還是接受分支開發(fā)這種理念,特別感謝偉大的林納斯·托瓦茲
一、主分支Master
首先,代碼庫(kù)應(yīng)該有一個(gè)、且僅有一個(gè)主分支。所有提供給用戶使用的正式版本,都在這個(gè)主分支上發(fā)布。Git主分支的名字,默認(rèn)叫做Master。它是自動(dòng)建立的,版本庫(kù)初始化以后,默認(rèn)就是在主分支在進(jìn)行開發(fā)。

master

對(duì)于我們現(xiàn)在的開發(fā)流程來(lái)說(shuō),這就是線上版本,線上版本應(yīng)該是bug最少化,代碼精簡(jiǎn)化。但就目前的開發(fā)流程而言,hotfix一天上好幾次,主版本一天也要更新好幾次,并不是很穩(wěn)定,不過(guò)這似乎是互聯(lián)網(wǎng)公司的通病。
二、開發(fā)分支Develop
主分支只用來(lái)分布重大版本,日常開發(fā)應(yīng)該在另一條分支上完成。我們把開發(fā)用的分支,叫做Develop。

develop

這個(gè)版本其實(shí)有許多臟代碼,各種功能的試用,代碼的測(cè)試,都可以在這個(gè)版本上進(jìn)行。
就在Master分支上,對(duì)Develop分支進(jìn)行"合并"(merge)。
創(chuàng)建Develp的命令為:
git checkout -b develop master
# 切換到Master分支
git checkout master
# 對(duì)Develop分支進(jìn)行合并
git merge --no-ff develop

功能在Develop上開發(fā),有需要合并到Mater,對(duì)于周期性的迭代功能,先拉個(gè)develop_v1,對(duì)于合作開發(fā)人員,每個(gè)人以develop_v1為基礎(chǔ)開自己的分支,開發(fā)自測(cè)好再合并一處由測(cè)試人員完成測(cè)試。
這里稍微解釋一下,上一條命令的--no-ff參數(shù)是什么意思。默認(rèn)情況下,Git執(zhí)行"快進(jìn)式合并"(fast-farward merge),會(huì)直接將Master分支指向Develop分支。

快進(jìn)式合并

使用--no-ff參數(shù)后,會(huì)執(zhí)行正常合并,在Master分支上生成一個(gè)新節(jié)點(diǎn)。為了保證版本演進(jìn)的清晰,我們希望采用這種做法。

保證版本演進(jìn)的清晰

三、修補(bǔ)bug分支hotfix
最后一種是修補(bǔ)bug分支。軟件正式發(fā)布以后,難免會(huì)出現(xiàn)bug。這時(shí)就需要?jiǎng)?chuàng)建一個(gè)分支,進(jìn)行bug修補(bǔ)。
修補(bǔ)bug分支是從Master分支上面分出來(lái)的。修補(bǔ)結(jié)束以后,再合并進(jìn)Master和Develop分支。它的命名,可以采用hotfix-日期的形式。目前每天要上正式的代碼都是有的hotfix,大部分是bug修復(fù),小部分是功能更新,這么也還算合理。

ps:(pycharm的代碼管理真的很好用哦-)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • Git分支管理 master:主分支,當(dāng)前分支上的代碼隨時(shí)可以直接發(fā)布,并且只能通過(guò)Pull Request從其他...
    UEUEO閱讀 9,754評(píng)論 5 33
  • 純手工打造每一篇開源資訊與技術(shù)干貨,數(shù)十萬(wàn)程序員和Linuxer已經(jīng)關(guān)注 1 Git 分支 - 分支簡(jiǎn)介 有人把 ...
    塵世不擾閱讀 747評(píng)論 0 3
  • 喇榮藏文的意思是,來(lái)了就不想走的地方。 喇榮的全稱:甘孜藏族自治州色達(dá)喇榮五明佛教大學(xué)。是此番我們進(jìn)藏朝圣的重要目...
    芳香行者Sunny閱讀 1,914評(píng)論 2 1
  • 今天兒子期末考試第三天。 一早,5點(diǎn)未到,我是被兒子房里的聲音驚醒的。這種警覺(jué)是從兒子7歲獨(dú)自睡自己房間開始的,第...
    葦絮輕揚(yáng)閱讀 225評(píng)論 2 7
  • 文I 凱鋒 初見《皮囊》,還是在大學(xué)班級(jí)群里,班長(zhǎng)極力推薦,讓大家有時(shí)間看下,當(dāng)時(shí)我還發(fā)了一個(gè)鄙視的表情。沒(méi)想到的...
    凱鋒公爵閱讀 526評(píng)論 0 0