由于已經(jīng)對(duì)Git使用比較熟悉了,此篇關(guān)于git分支和版本的的管理將不會(huì)詳細(xì)記錄每一個(gè)細(xì)節(jié)。如果你還不熟悉git,請(qǐng)先參看: [1] http://blog.csdn.net/xiahouzuoxin/article/details/9393119 [2] http://blog.csdn.net/xiahouzuoxin/article/details/9398629 [3] http://blog.csdn.net/xiahouzuoxin/article/details/18076043 本地的分支管理創(chuàng)建分支,你可以使用
這就創(chuàng)建了一個(gè)dev(development之意),更好的,選擇使用下面的方法創(chuàng)建兩個(gè)分支——dev,創(chuàng)建后會(huì)自動(dòng)切換到新創(chuàng)建的分支,
要切回master分支怎么辦?使用
當(dāng)然你也可以使用
再次切換到dev分支。 好了,現(xiàn)在有兩個(gè)分支:master和dev了。比如切來(lái)切去,突然暫停手下的活要先擼一把,擼完回過(guò)頭不知道現(xiàn)在在哪個(gè)分支了,怎么辦?
搞定,git branch可以查看當(dāng)前已有的分支信息,并在將當(dāng)前所在分支高亮,當(dāng)前分支前還有個(gè)*號(hào)。 某天要調(diào)試某個(gè)新算法,又不能保證能調(diào)好,又怕打亂了原有的程序,怎么辦?建一個(gè)新分支:
在debug分支中慢慢玩,master分支和dev分支毫不受影響。這時(shí)就有兩種情況:
這時(shí)如果你很幸運(yùn),直接合并成功。悲傷的事情總是時(shí)有發(fā)生,“合并發(fā)生沖突”是常有的事,因此一旦出現(xiàn)類(lèi)似下面的提示
就得自己動(dòng)手解決沖突了,git會(huì)用
這樣的格式提醒你,只要修改保留實(shí)際需要的內(nèi)容后即可解決沖突,解決沖突后就可以執(zhí)行g(shù)it commit。 好了,我們合并了master和debug,做IT的人總會(huì)偷個(gè)腥,想看看git是怎么記錄合并的,沒(méi)問(wèn)題,
就可以直接看到分支合并的過(guò)程。我這有個(gè)大點(diǎn)的工程合并效果的例子, 最后,反正debug我玩完了,刪除debug分支
遠(yuǎn)程的分支管理我們所有的開(kāi)發(fā)工作都在dev上進(jìn)行,一旦有了大的突破,則合并到master。
如果不在dev,切換到dev,
還記得我們之前推送master分支到遠(yuǎn)程origin嗎?
推送dev也是一樣的,只要指定分支名為dev就可以了,
這是,你用git branch看看,這只是clone了master分支,dev呢?這可是費(fèi)勁苦心,要在同學(xué)A的dev分支上開(kāi)發(fā),就必須創(chuàng)建遠(yuǎn)程的dev分支到本地
再用git branch看看?有了吧。
可能出現(xiàn)沖突,解決后才能進(jìn)行下一次的提交。 極少的場(chǎng)合,要不就是老板的老婆月經(jīng)亂了,要不就是。。。哎,不說(shuō)了,非要?jiǎng)h除遠(yuǎn)程dev分支,也是有辦法的,
本地Tag管理哇,第一個(gè)里程碑式的突破,有木有,這時(shí)你可小小的慶幸一下,打個(gè)標(biāo)簽(Tag),表示這是個(gè)可靠的可發(fā)布版本,
當(dāng)然,注釋別向上面一樣("第一個(gè)里程碑的突破")寫(xiě)得那么沒(méi)有營(yíng)養(yǎng)。起個(gè)好名字很重要。默認(rèn)的標(biāo)簽將打在最新的commit上。 查看打了哪些標(biāo)簽使用
查看某個(gè)標(biāo)簽的信息用
好了,好馬也有失前蹄的時(shí)候,標(biāo)簽打錯(cuò)也是正常的,
果斷刪了v1.0標(biāo)簽。 遠(yuǎn)程Tag管理我想要把v1.0推送到遠(yuǎn)程,
把所有的標(biāo)簽一次推送到遠(yuǎn)程更爽,
刪除遠(yuǎn)程的標(biāo)簽,你可以到github上刪除,也可以,
結(jié)尾及參考好了,告一段落了,接著就是使用git策馬奔騰吧! [1] 廖雪峰Git教程 |
|