• <menu id="w2i4a"></menu>
  • logo IntelliJ IDEA使用技巧

    文檔首頁(yè)>>IntelliJ IDEA使用技巧>>IntelliJ IDEA使用技巧(十三)——關(guān)于版本控制(上)

    IntelliJ IDEA使用技巧(十三)——關(guān)于版本控制(上)


    我們已經(jīng)了解了很多關(guān)于 IntelliJ IDEA 的使用技巧,但是一個(gè)人進(jìn)行項(xiàng)目開(kāi)發(fā)更趨向于理想化,更多的則是團(tuán)隊(duì)協(xié)同開(kāi)發(fā),這時(shí)就需要了解一個(gè)非常重要的概念,那就是“版本控制”。

    起初,并沒(méi)有關(guān)于版本控制的概念,在協(xié)同開(kāi)發(fā)的時(shí)候,大家都是自己保持項(xiàng)目代碼,或者互相拷貝代碼,這樣在合并代碼的過(guò)程中就難免遇到很多不兼容的問(wèn)題;這就促使“集中式版本控制系統(tǒng)(CVCS)”的出現(xiàn),例如 SVN、CVS 等,但這仍然有一個(gè)風(fēng)險(xiǎn),那就是如果源碼庫(kù)出現(xiàn)問(wèn)題,導(dǎo)致項(xiàng)目代碼丟失,那么大家手里的都是部分代碼,就算勉強(qiáng)合并到一起,也不能保證項(xiàng)目源碼的準(zhǔn)確性;因此,這又促使“分布式版本控制系統(tǒng)(DVCS)”的出現(xiàn),例如 Git,它的好處顯而易見(jiàn),每個(gè)人從源碼庫(kù)中檢出的代碼,都是作為一份獨(dú)立的、完整的拷貝代碼存在,這時(shí)就算源碼庫(kù)出現(xiàn)問(wèn)題,甚至源碼丟失,那么任何一個(gè)人的代碼都可以作為源碼進(jìn)行共享,從而大大提高了協(xié)同開(kāi)發(fā)的抗風(fēng)險(xiǎn)能力。

    因此,本文更傾向于推薦大家使用分布式版本控制系統(tǒng)。不過(guò)在一般情況下,僅需要下載一個(gè)版本控制系統(tǒng)的客戶端即可,在這里,根據(jù)操作系統(tǒng)分別推薦一個(gè)非常好用的版本控制系統(tǒng)客戶端:

    • Windows 版本控制系統(tǒng)客戶端:TortoiseSVN;
    • Mac 版本控制系統(tǒng)客戶端:CornerStone.

    接下來(lái),咱們就進(jìn)入主題,正式開(kāi)始介紹 IntelliJ IDEA 中的版本控制機(jī)制:

    1

    如上圖所示,點(diǎn)擊Settings,進(jìn)行如下界面:

    2

    • 標(biāo)注1:Plugins,插件;
    • 標(biāo)注2:Version Control,版本控制。

    如上圖所示,標(biāo)記出了“插件”和“版本控制”兩個(gè)選項(xiàng)。有些人可能會(huì)認(rèn)為 IntelliJ IDEA 自帶了 SVN 或者 Git 等版本控制系統(tǒng),因此只要安裝了 IntelliJ IDEA 就可以使用版本控制系統(tǒng)的所有功能啦,這顯然是一個(gè)錯(cuò)誤的想法。IntelliJ IDEA 只是自帶了對(duì)這些版本控制系統(tǒng)的支持插件,但是咱們想使用什么版本控制系統(tǒng)仍然得安裝什么版本控制系統(tǒng)的客戶端,否則照樣用不了。

    如上圖中 標(biāo)注1 所示,IntelliJ IDEA 對(duì)版本控制的支持都是以插件的方式來(lái)實(shí)現(xiàn)的。旗艦版默認(rèn)支持目前主流的版本控制軟件包括:GitHub、CVS、ClearCase、Git、、Mercurial、Perforce、Subversion(SVN) 和 TFS 等。

    立即下載最新版IntelliJ IDEA >>>


    更多關(guān)于JAVA IDE相關(guān)產(chǎn)品授權(quán)、試用相關(guān)信息,請(qǐng)【咨詢客服】

    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();