現(xiàn)在用svn的多還是git的多 為什么還有那么多人用SVN?
為什么還有那么多人用SVN?讓我們從結(jié)果開(kāi)始:Git在某些情況下比SVN好,但它不能取代SVN第一輪:Git是一個(gè)分布式版本控制系統(tǒng),它可以更適合沒(méi)有固定“服務(wù)器”的研發(fā)人員。Svn是一個(gè)具有固定服務(wù)
為什么還有那么多人用SVN?
讓我們從結(jié)果開(kāi)始:Git在某些情況下比SVN好,但它不能取代SVN
第一輪:Git是一個(gè)分布式版本控制系統(tǒng),它可以更適合沒(méi)有固定“服務(wù)器”的研發(fā)人員。Svn是一個(gè)具有固定服務(wù)器的集中式版本控制系統(tǒng)。但我認(rèn)為,在某些情況下,分布式管理并不一定比集中式管理好,所以這一輪更為公平。
第2輪:[git的分支非常易于使用,而且非常強(qiáng)大。SVN的分支是一小塊雞排。SVN的分支是svncopy,它復(fù)制一個(gè)完整的項(xiàng)目。在這一輪中,GIT具有明顯的優(yōu)勢(shì)。
第三輪:
提交、更新或合并代碼時(shí)經(jīng)常報(bào)告錯(cuò)誤。Git的提示非?!爸艿健?,可以很好地解決錯(cuò)誤。SVN的提示有點(diǎn)不滿意。Git在這一輪中仍然有優(yōu)勢(shì)。
第4輪:
SVN對(duì)目錄具有良好的權(quán)限控制。它可以根據(jù)目錄進(jìn)行更新和提交,這有時(shí)很有用。Git無(wú)法控制目錄的權(quán)限。SVN的優(yōu)勢(shì)在這一輪是顯而易見(jiàn)的。
例如:
我們公司的研發(fā)人員使用git,藝術(shù)和產(chǎn)品使用SVN。藝術(shù)和產(chǎn)品通常將需求和資源放入SVN,SVN可以根據(jù)目錄而不是整個(gè)項(xiàng)目進(jìn)行下載。而SVN在windows系統(tǒng)中有一個(gè)非常著名的烏龜SVN軟件,有一個(gè)中文版本,使用起來(lái)非常方便。
如何一起使用Git和SVN?
Git SVN可以參考我的博客Git SVN:通過(guò)Git管理SVN代碼
操作步驟:您需要:1。安裝GIT和GIT-svn2。創(chuàng)建工作目錄:MKDIR strigi3。初始化git工作目錄:4。找到一個(gè)提交的項(xiàng)目(你可以通過(guò)CIA版本控制)。警告:命令git log將顯示此版本中項(xiàng)目的版本歷史記錄。5執(zhí)行g(shù)it SVN fetch-rrevision命令,這是剛剛獲得的版本號(hào)。6更新工作目錄:git SVN rebase?,F(xiàn)在您可以在這個(gè)項(xiàng)目中使用git作為版本控制。要更新工作目錄,可以執(zhí)行:git SVN rebase??梢允褂靡韵旅顚⒏奶峤坏絊VN服務(wù)器:git SVN dcommit。這樣,所有g(shù)it提交都將“轉(zhuǎn)換”為相應(yīng)的SVN命令。解決GIT-SVN重基問(wèn)題。在添加新內(nèi)容之前,同步主開(kāi)發(fā)樹(shù)時(shí)可能會(huì)遇到一些問(wèn)題。實(shí)際上,在執(zhí)行GIT SVN rebase之前,必須提交所有本地修改(使用GIT commit命令)。有時(shí)這是沒(méi)有意義的,因?yàn)槟母目赡苓€沒(méi)有準(zhǔn)備好提交(尚未完成、測(cè)試或驗(yàn)證)。但別擔(dān)心,GIT也有一個(gè)官方的解決方案。只需執(zhí)行以下步驟:首先保存更改,使用git stash命令更新工作副本,使用git SVN rebase命令恢復(fù)已保存的更改,使用git stash apply命令清除“save”,然后使用git stash clear命令。在步驟1之后,所有未提交的更改在工作副本上都不可見(jiàn),因此可以毫無(wú)問(wèn)題地執(zhí)行rebase命令。
如何一起使用Git和SVN?
非常簡(jiǎn)單,SVN是針對(duì)程序員的,設(shè)計(jì)師不應(yīng)該用這種東西來(lái)做版本管理,包括git,因?yàn)槟憧床坏礁牡牡胤?。?duì)于設(shè)計(jì)人員來(lái)說(shuō),這些備份工具既繁瑣又復(fù)雜,除了復(fù)雜的操作外,與手工復(fù)制文件沒(méi)有什么區(qū)別。
那么解決方案是什么?不幸的是,這個(gè)行業(yè)沒(méi)有完美的解決方案。目前,在單機(jī)設(shè)計(jì)軟件中,除了affinitydesigner可以將文件與歷史一起保存(文件量會(huì)變大),歷史面板(beta版)中可以看到所有的歷史操作分支外,其他軟件或多或少都是通過(guò)插件實(shí)現(xiàn)的,或者沒(méi)有這個(gè)功能。這是一些在線工具提供的問(wèn)題模式修改歷史預(yù)覽功能,這是一個(gè)很好的嘗試。此外,XD還在內(nèi)部測(cè)試中曝光了類似的版本管理功能截圖,但目前官方并未發(fā)布任何消息。
綜上所述,除非程序員生成的版本與設(shè)計(jì)師生成的版本完全相同,否則沒(méi)有必要增加設(shè)計(jì)師的工作量。一個(gè)設(shè)計(jì)文件可以少到m,大到g,行業(yè)需要一個(gè)外部/文件類型的記錄來(lái)管理設(shè)計(jì)圖紙的版本,而不是要求設(shè)計(jì)師使用程序員的版本管理軟件進(jìn)行簽入和簽出,因?yàn)槟憧床坏桨姹驹谀睦锇l(fā)生了變化,這種操作是不可能的真是浪費(fèi)時(shí)間。