Git之rebase操作分享

進入點融之前,筆者的版本控制一直用的是SVN斜友。在加入點融后词顾,接觸到了GIT八秃,也使筆者有機會學(xué)習(xí)到更為廣泛應(yīng)用的GIT版本控制。

通過同事幫助和自主學(xué)習(xí)肉盹,以及在一些網(wǎng)絡(luò)上學(xué)習(xí)到Git相關(guān)知識的基礎(chǔ)之上昔驱,筆者將從大的方面來闡述一下GIT與SVN的區(qū)別。

1上忍、控制版本

最核心的區(qū)別舍悯,GIT是分布式控制版本,而SVN不是睡雇。

GIT跟SVN一樣有自己的集中式版本庫或服務(wù)器萌衬,但是GIT更傾向于被使用于分布式模式,也就是每個開發(fā)人員從中心版本庫/服務(wù)器上checkout代碼后會在自己的機器上克隆一個自己的版本庫它抱。舉個例子秕豫,如果你被困在一個不能連接網(wǎng)絡(luò)的地方時,如飛機上观蓄,地下室混移,電梯里等,你仍然能夠提交文件侮穿,查看歷史版本記錄歌径,創(chuàng)建項目分支等等。

2亲茅、存儲方式

GIT把內(nèi)容按元數(shù)據(jù)方式存儲回铛,而SVN是按文件。

所有的資源控制系統(tǒng)都是把文件的元信息隱藏在一個類似.svn克锣,.cvs等的文件夾里茵肃。如果你把.git目錄的體積大小跟.svn比較,你會發(fā)現(xiàn)它們差距很大袭祟。因為.git目錄是處于你的機器上的一個克隆版的版本庫验残,它擁有中心版本庫上所有的東西,例如標簽巾乳,分支您没,版本記錄等。

3胆绊、分支

GIT分支和SVN的分支不同氨鹏。

分支在SVN中一點不特別,就是版本庫中的另外的一個目錄辑舷。然而喻犁,處理GIT的分支卻是相當(dāng)?shù)暮唵魏陀腥ぁD憧梢詮耐粋€工作目錄下快速的在幾個分支間切換。你很容易發(fā)現(xiàn)未被合并的分支肢础,你能簡單而快捷的合并這些文件还栓。

4、rebase命令的操作

言歸正傳传轰,接下來剩盒,本文將主要介紹的rebase命令的操作。

在實際項目開發(fā)過程當(dāng)中慨蛙,開發(fā)人員都會從遠程主分支克隆代碼到本地辽聊,然后在此基礎(chǔ)之上,進行自己的功能開發(fā)期贫。在本地開發(fā)的同時跟匆,遠程主分支也會不斷有其他同事開發(fā)的功能被push上去。在本地開發(fā)的代碼通砍,可以通過fetch玛臂,然后在merge提交到本地或者直接pull到本地來做作為本地同步遠程代碼的目的,當(dāng)然在此筆者主要想講述的是如何通過統(tǒng)一遠程和本地的代碼的log封孙,從而神不知鬼不覺的去同步代碼迹冤。

我們來具體演示一下rebase的用法。

首先克隆遠程主分支到本地主分支(master)虎忌,然后創(chuàng)建自己的分支(test)泡徙,具體demo如下圖所示:

此時test分支的版本如下:

主分支master,在其他同事的不斷push后膜蠢,現(xiàn)在的版本如下:

如上圖所示堪藐,當(dāng)前主分支有新的代碼提交,本地分支開發(fā)人員每天也會有新的代碼提交狡蝶。但是往往一個功能模塊的開發(fā)是需要好幾天才能完成的庶橱,故一個功能點往往會產(chǎn)生多個log贮勃,關(guān)于如何合并多個提交log贪惹,后面會講述(詳見步驟8)。接下來寂嘉,在本地開發(fā)人員進行功能開發(fā)結(jié)束后奏瞬,如下圖所示:

如上圖所示,可以看到開發(fā)人員在本地分支提交了3次代碼泉孩,完成了功能開發(fā)硼端,接下來就要進行rebase操作,如下圖所示:

在rebase過程當(dāng)中可能需要處理一些沖突寓搬,具體操作如下圖所示:

如上圖所示珍昨,rebase結(jié)束,具體結(jié)果如下所示:

接下來主要看一下,如果合并分支多次提交log镣典,運行命令如下:

git

rebase -i 9b67ef73b1225777153aad76de0dee444fa9d892

會跳出vim編輯模式兔毙,修改除第一個外的后面幾個pick為s或者squash,將log改為:test合并之前提交的1,2,3兄春;

如下所示:

到此合并結(jié)束澎剥,具體結(jié)果如下:

至此,這個rebase基本功能用法就介紹完畢了赶舆。在操作過程當(dāng)中哑姚,可能要解決一些沖突,merge一些代碼芜茵,提交之后叙量,才可以繼續(xù)操作。一般情況下九串,敲入命令:git status宛乃,查看當(dāng)前版本下的提示情況之后,再進行相應(yīng)操作蒸辆,就可以了征炼。

希望筆者對此命令的一些心得體會可以幫助更多的開發(fā)人員理解GIT,可以更好的上手應(yīng)用GIT躬贡,有更多關(guān)于GIT的心得體會谆奥,歡迎與筆者探討。

本文作者:張金周(點融黑幫)拂玻,現(xiàn)任點融FinTech團隊后端開發(fā)工程師酸些,江西理工大學(xué)計算機專業(yè)。工作三年檐蚜,兩年外企經(jīng)驗魄懂,平時研究后端框架,喜歡學(xué)習(xí)前端技術(shù)以及新技術(shù)闯第。業(yè)余時間喜歡打羽毛球市栗,看電影。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末咳短,一起剝皮案震驚了整個濱河市填帽,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌咙好,老刑警劉巖篡腌,帶你破解...
    沈念sama閱讀 211,743評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異勾效,居然都是意外死亡嘹悼,警方通過查閱死者的電腦和手機叛甫,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來杨伙,“玉大人合溺,你說我怎么就攤上這事∽禾ǎ” “怎么了棠赛?”我有些...
    開封第一講書人閱讀 157,285評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長膛腐。 經(jīng)常有香客問我睛约,道長,這世上最難降的妖魔是什么哲身? 我笑而不...
    開封第一講書人閱讀 56,485評論 1 283
  • 正文 為了忘掉前任辩涝,我火速辦了婚禮,結(jié)果婚禮上勘天,老公的妹妹穿的比我還像新娘怔揩。我一直安慰自己,他們只是感情好脯丝,可當(dāng)我...
    茶點故事閱讀 65,581評論 6 386
  • 文/花漫 我一把揭開白布商膊。 她就那樣靜靜地躺著,像睡著了一般宠进。 火紅的嫁衣襯著肌膚如雪晕拆。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,821評論 1 290
  • 那天材蹬,我揣著相機與錄音实幕,去河邊找鬼。 笑死堤器,一個胖子當(dāng)著我的面吹牛昆庇,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播闸溃,決...
    沈念sama閱讀 38,960評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼整吆,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了圈暗?” 一聲冷哼從身側(cè)響起掂为,我...
    開封第一講書人閱讀 37,719評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎员串,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體昼扛,經(jīng)...
    沈念sama閱讀 44,186評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡寸齐,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,516評論 2 327
  • 正文 我和宋清朗相戀三年欲诺,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片渺鹦。...
    茶點故事閱讀 38,650評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡扰法,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出毅厚,到底是詐尸還是另有隱情塞颁,我是刑警寧澤,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布吸耿,位于F島的核電站祠锣,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏咽安。R本人自食惡果不足惜伴网,卻給世界環(huán)境...
    茶點故事閱讀 39,936評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望妆棒。 院中可真熱鬧澡腾,春花似錦、人聲如沸糕珊。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,757評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽红选。三九已至刺啦,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間纠脾,已是汗流浹背玛瘸。 一陣腳步聲響...
    開封第一講書人閱讀 31,991評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留苟蹈,地道東北人糊渊。 一個月前我還...
    沈念sama閱讀 46,370評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像慧脱,于是被迫代替她去往敵國和親渺绒。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,527評論 2 349

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