3 回答

TA貢獻(xiàn)1780條經(jīng)驗(yàn) 獲得超1個(gè)贊
使用Git,您幾乎可以在線下執(zhí)行任何操作,因?yàn)槊總€(gè)人都有自己的存儲(chǔ)庫(kù)。
在分支之間建立分支和合并非常容易。
即使您沒(méi)有項(xiàng)目的提交權(quán)限,您仍然可以在線擁有自己的存儲(chǔ)庫(kù),并為您的修補(bǔ)程序發(fā)布“推送請(qǐng)求”。每個(gè)喜歡你的補(bǔ)丁的人都可以將他們納入他們的項(xiàng)目,包括官方維護(hù)者。
分叉一個(gè)項(xiàng)目,修改它,并繼續(xù)合并來(lái)自HEAD分支的錯(cuò)誤修正是微不足道的。
Git適用于Linux內(nèi)核開(kāi)發(fā)人員。這意味著它真的很快(必須),并擴(kuò)展到成千上萬(wàn)的貢獻(xiàn)者。Git也使用更少的空間(Mozilla存儲(chǔ)庫(kù)的空間減少了30倍)。
Git非常靈活,非常TIMTOWTDI(有不止一種方法可以做到)。您可以使用您想要的任何工作流程,Git將支持它。
最后,有一個(gè)GitHub,一個(gè)托管你的Git存儲(chǔ)庫(kù)的好網(wǎng)站。
Git的缺點(diǎn):
學(xué)習(xí)起來(lái)要困難得多,因?yàn)镚it有更多的概念和更多的命令。
修訂版沒(méi)有像subversion那樣的版本號(hào)
許多Git命令都很神秘,錯(cuò)誤消息對(duì)用戶不友好
它缺乏一個(gè)好的GUI(如偉大的TortoiseSVN)

TA貢獻(xiàn)1893條經(jīng)驗(yàn) 獲得超10個(gè)贊
其他答案在解釋Git的核心功能方面做得很好(很棒)。但也有很多小方法讓Git表現(xiàn)得更好,并有助于讓我的生活更加健全。以下是一些小事:
Git有一個(gè)'干凈'命令。SVN迫切需要這個(gè)命令,考慮它會(huì)在磁盤(pán)上轉(zhuǎn)儲(chǔ)額外文件的頻率。
Git有'bisect'命令。這真好。
SVN在每個(gè)文件夾中創(chuàng)建.svn目錄(Git只創(chuàng)建一個(gè) .git目錄)。您編寫(xiě)的每個(gè)腳本以及您執(zhí)行的每個(gè)grep都需要編寫(xiě)以忽略這些.svn目錄。您還需要一個(gè)完整的命令(“svn export”)才能獲得文件的合理副本。
在SVN中,每個(gè)文件和文件夾可以來(lái)自不同的修訂版或分支。起初,擁有這種自由聽(tīng)起來(lái)不錯(cuò)。但這實(shí)際上意味著有一百萬(wàn)種不同的方式讓您的本地結(jié)賬完全搞砸了。(例如,如果“svn switch”中途失敗,或者輸入的命令錯(cuò)誤)。最糟糕的是:如果你遇到某些文件來(lái)自一個(gè)地方,而其中一些來(lái)自另一個(gè)地方的情況,“svn狀態(tài)”會(huì)告訴你一切正常。您需要在每個(gè)文件/目錄上執(zhí)行“svn info”以發(fā)現(xiàn)奇怪的事情。如果“git status”告訴你事情是正常的,那么你可以相信事情是正常的。
無(wú)論何時(shí)移動(dòng)或刪除某些內(nèi)容,都必須告訴SVN。Git會(huì)想出來(lái)的。
在Git中忽略語(yǔ)義更容易。如果忽略模式(例如* .pyc),則將忽略所有子目錄。(但如果你真的想忽略一個(gè)目錄的東西,你可以)。使用SVN,似乎沒(méi)有簡(jiǎn)單的方法可以忽略所有子目錄中的模式。
涉及忽略文件的另一項(xiàng)。Git可以使用“私有”忽略設(shè)置(使用文件.git / info / exclude),這不會(huì)影響其他任何人。
- 3 回答
- 0 關(guān)注
- 1158 瀏覽
添加回答
舉報(bào)