eclipse egit(分支管理 上)
這一章比較重要,講述了Git比svn強(qiáng)大的地方,直接轉(zhuǎn)載廖雪峰老師的文字,更好的理解 什么是分支 和 為什么分支git比svn做的更好
分支在實(shí)際中有什么用呢?假設(shè)你準(zhǔn)備開(kāi)發(fā)一個(gè)新功能,但是需要兩周才能完成,第一周你寫(xiě)了50%的代碼,如果立刻提交,由于代碼還沒(méi)寫(xiě)完,不完整的代碼庫(kù)會(huì)導(dǎo)致別人不能干活了。如果等代碼全部寫(xiě)完再一次提交,又存在丟失每天進(jìn)度的巨大風(fēng)險(xiǎn)。?
現(xiàn)在有了分支,就不用怕了。你創(chuàng)建了一個(gè)屬于你自己的分支,別人看不到,還繼續(xù)在原來(lái)的分支上正常工作,而你在自己的分支上干活,想提交就提交,直到開(kāi)發(fā)完畢后,再一次性合并到原來(lái)的分支上,這樣,既安全,又不影響別人工作。?
其他版本控制系統(tǒng)如SVN等都有分支管理,但是用過(guò)之后你會(huì)發(fā)現(xiàn),這些版本控制系統(tǒng)創(chuàng)建和切換分支比蝸牛還慢,簡(jiǎn)直讓人無(wú)法忍受,結(jié)果分支功能成了擺設(shè),大家都不去用。?
但Git的分支是與眾不同的,無(wú)論創(chuàng)建、切換和刪除分支,Git在1秒鐘之內(nèi)就能完成!無(wú)論你的版本庫(kù)是1個(gè)文件還是1萬(wàn)個(gè)文件。?
我們看看怎么在eclipse中創(chuàng)建分支并實(shí)際應(yīng)用。
在以前的版本中,我們知道git對(duì)每個(gè)項(xiàng)目都有一個(gè)默認(rèn)的時(shí)間線,就是master分支,每次提交,Git都把它們串成一條時(shí)間線,然后有一個(gè)head指針,Git用master指向最新的提交,再用HEAD指向master,就能確定當(dāng)前分支,以及當(dāng)前分支的提交點(diǎn)。
首先,我們創(chuàng)建dev分支,然后切換到dev分支:
在git repositories中,點(diǎn)擊該項(xiàng)目的 branches,-》右鍵switch to -》new branch,并且head已經(jīng)默認(rèn)指向了“dev”分支,以后你的每次提交都是在‘dev’上操作,已經(jīng)跟‘master’分支無(wú)關(guān)了。?
現(xiàn)在history框是這樣的:?
我們?cè)赿emo.Java文件中 添加一個(gè)方法 dev(),然后commit(提交),?
head指針已經(jīng)不指向master分支,而是跟著‘dev’分支形影不離。?
當(dāng)我們切換回‘master’分支最新的提交點(diǎn)(在master分支上點(diǎn)checkout),dev()方法不見(jiàn)了:?
那我們假如dev分支上的活干完了,該怎么合并到master分支上呢?
1.在git repository界面 先切換回‘master’分支(右鍵master-》checkout)?
2.然后右鍵master-》merge..,注意fast forward options選第二項(xiàng),可以在History框看到分支合并的詳細(xì)信息,能看出來(lái)曾經(jīng)做過(guò)合并?
3.在Local文件夾中選擇你需要合并到’master’分支中的分支,在這里當(dāng)然是選擇’dev’分支。然后點(diǎn)merge就行。?
從上面的history框就可以看到現(xiàn)在head重新指向了‘master’分支,而‘dev’分支的內(nèi)容已經(jīng)被合并。
轉(zhuǎn)載于:https://www.cnblogs.com/duex/p/6390014.html
總結(jié)
以上是生活随笔為你收集整理的eclipse egit(分支管理 上)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Linux驱动技术(三) _DMA编程
- 下一篇: Linux-shell-完全详解