日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當(dāng)前位置:首頁 > 科技  > 軟件

2024 年了,F(xiàn)acebook、Google 竟然都不用 Git 管理代碼?

來源: 責(zé)編: 時(shí)間:2024-04-15 18:16:48 296觀看
導(dǎo)讀根據(jù)最新的調(diào)查數(shù)據(jù),高達(dá) 93.87% 的開發(fā)者選擇使用 Git 作為他們的代碼版本控制系統(tǒng)。然而,令人驚訝的是,在2024年依然有少數(shù)知名公司并未采用 Git。據(jù)悉,F(xiàn)acebook 選擇的是 Mercurial,而 Google 則青睞于Piper。那么,這些

根據(jù)最新的調(diào)查數(shù)據(jù),高達(dá) 93.87% 的開發(fā)者選擇使用 Git 作為他們的代碼版本控制系統(tǒng)。然而,令人驚訝的是,在2024年依然有少數(shù)知名公司并未采用 Git。據(jù)悉,F(xiàn)acebook 選擇的是 Mercurial,而 Google 則青睞于Piper。那么,這些行業(yè)巨頭為何選擇不隨大流,轉(zhuǎn)而采用其他版本管理系統(tǒng)呢?這些系統(tǒng)又各自具備哪些獨(dú)特之處呢?接下來,本文將深入探討這些問題。TJt28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片TJt28資訊網(wǎng)——每日最新資訊28at.com

Git 是一個(gè)分布式版本控制系統(tǒng),用于跟蹤代碼的變化并協(xié)調(diào)多個(gè)開發(fā)人員在同一項(xiàng)目上的工作。Git 是由 Linus Torvalds 為了管理 Linux 內(nèi)核開發(fā)而創(chuàng)建的,如今已經(jīng)成為開源項(xiàng)目中最流行的版本控制系統(tǒng),沒有之一。TJt28資訊網(wǎng)——每日最新資訊28at.com

Mercurial

是什么?

Facebook最初選擇了Git,但在代碼規(guī)模急劇增長后,他們開始遭遇Git性能方面的限制。特別是在執(zhí)行類似"stat"的操作時(shí),隨著文件數(shù)量的增加,Git的性能開始變慢。盡管團(tuán)隊(duì)嘗試聯(lián)系Git項(xiàng)目的維護(hù)者以改進(jìn)這些問題,但最終他們決定不再依賴Git,并轉(zhuǎn)而選擇了Mercurial,因?yàn)镸ercurial的架構(gòu)更加干凈,且在面對(duì)大型monorepo時(shí)性能較好。Facebook也曾考慮過其他備選方案,比如閉源的Perforce和Bitkeeper,但最終選擇了Mercurial,因?yàn)槠湫阅芘cGit相當(dāng),而且有清晰的架構(gòu),易于擴(kuò)展。TJt28資訊網(wǎng)——每日最新資訊28at.com

Mercurial 是一個(gè)分布式版本控制系統(tǒng),用于跟蹤項(xiàng)目的變化和管理文件的歷史記錄。它允許開發(fā)人員協(xié)作,跟蹤代碼更改,并管理源代碼庫的版本。Mercurial 提供了一種靈活的工作流程,能夠適應(yīng)不同團(tuán)隊(duì)和項(xiàng)目的需求。TJt28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片TJt28資訊網(wǎng)——每日最新資訊28at.com

Mercurial 具有以下特點(diǎn)和優(yōu)勢(shì):TJt28資訊網(wǎng)——每日最新資訊28at.com

  • 性能:Mercurial能夠良好地支持大型單一代碼庫,擁有較好的性能表現(xiàn),特別適合于大規(guī)模項(xiàng)目。
  • 易于擴(kuò)展:Mercurial系統(tǒng)易于擴(kuò)展,同時(shí)其設(shè)計(jì)相對(duì)清晰,采用了面向?qū)ο缶幊棠J?,由Python編寫。
  • 與維護(hù)者合作:Facebook團(tuán)隊(duì)與Mercurial的維護(hù)者進(jìn)行了面對(duì)面的交流,喜歡這個(gè)合作伙伴的理念,而且維護(hù)者社區(qū)對(duì)Facebook團(tuán)隊(duì)的大膽改變給予了積極的歡迎。

為什么?

Facebook選擇Mercurial而不是Git的原因主要包括:TJt28資訊網(wǎng)——每日最新資訊28at.com

  • 性能問題:在使用Git時(shí),F(xiàn)acebook遇到了擴(kuò)展性上的限制,尤其是對(duì)于大型單庫的操作效率。
  • 合作與支持:Mercurial 維護(hù)者和代碼庫更愿意與其合作,F(xiàn)acebook的工程師們得到了維護(hù)者和社區(qū)的支持。
  • 社交化遷移過程:Facebook 團(tuán)隊(duì)花了數(shù)月時(shí)間社交化地進(jìn)行遷移到Mercurial的可能性,并且經(jīng)過全公司的調(diào)查和討論,使整個(gè)遷移過程更為順利。

圖片圖片TJt28資訊網(wǎng)——每日最新資訊28at.com

總之,F(xiàn)acebook 選擇 Mercurial 并非僅僅因?yàn)樗菺it性能更好,而更多地是因?yàn)?Mercurial 的維護(hù)者和代碼庫更加愿意與Facebook合作,并且在工程團(tuán)隊(duì)中得到了有效的傳播和溝通。TJt28資訊網(wǎng)——每日最新資訊28at.com

Piper

谷歌公司內(nèi)部主要使用的是自行研發(fā)的版本管理工具 Piper 來管理代碼,而不是Git。谷歌的 90% 以上的代碼都存放在Piper中。對(duì)于那些開源的、需要外部協(xié)作的項(xiàng)目,如 Android 項(xiàng)目和 Chrome 項(xiàng)目,谷歌會(huì)選擇使用 Git。TJt28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片TJt28資訊網(wǎng)——每日最新資訊28at.com

是什么?

Piper 與其他版本管理系統(tǒng)不同,它只有一個(gè)代碼倉庫。也就是說,Google 將所有代碼都放在了一個(gè)代碼倉庫,整個(gè)公司使用不同語言編寫的超過10億文件,近百 TB 源代碼都存放在自行開發(fā)的版本管理系統(tǒng) Piper 中,只當(dāng)項(xiàng)目開源且需要外部協(xié)作時(shí),才會(huì)使用業(yè)界流行的 Git。TJt28資訊網(wǎng)——每日最新資訊28at.com

Piper 整個(gè)倉庫采用樹狀結(jié)構(gòu),每個(gè)團(tuán)隊(duì)有自己的目錄,目錄路徑就是代碼的命名空間。每個(gè)目錄都有負(fù)責(zé)人,負(fù)責(zé)批準(zhǔn)該目錄的文件變動(dòng)。在權(quán)限控制方面,Piper支持文件級(jí)別的權(quán)限控制,大部分代碼對(duì)所有用戶可見,但重要的配置文件和機(jī)密的關(guān)鍵業(yè)務(wù)設(shè)有訪問限制。TJt28資訊網(wǎng)——每日最新資訊28at.com

在工作流方面,開發(fā)者先創(chuàng)建文件的本地拷貝,這叫做“工作區(qū)”。完成開發(fā)后,工作區(qū)的快照會(huì)共享給其他開發(fā)者進(jìn)行代碼評(píng)審。只有通過評(píng)審的代碼才能合并到中央倉庫。谷歌采用“主干開發(fā)”的方式,代碼一般提交到主干的頭部,避免了合并分支時(shí)的麻煩。所有代碼在合并進(jìn)倉庫之前,都必須進(jìn)行代碼評(píng)審,大部分評(píng)審對(duì)所有人開放,任何谷歌員工都可以對(duì)代碼提意見或者提交變動(dòng)。TJt28資訊網(wǎng)——每日最新資訊28at.com

為什么?

那為什么 Google 使用 Piper,而不是使用 Git 呢?TJt28資訊網(wǎng)——每日最新資訊28at.com

  • 規(guī)模:Google 的代碼庫包含約十億個(gè)文件,3500 萬次提交記錄,這遠(yuǎn)遠(yuǎn)超出了一般代碼庫的規(guī)模。Piper 被設(shè)計(jì)用來處理這種大規(guī)模的代碼庫,以及數(shù)以萬計(jì)的開發(fā)者對(duì)單一代碼庫的共享,這使得它更適合于谷歌的特殊需求。
  • 安全性:Piper 被設(shè)計(jì)時(shí)考慮了安全功能,包括支持文件級(jí)別的訪問控制列表,對(duì)文件讀寫訪問進(jìn)行日志記錄等。這些功能對(duì)于谷歌來說是非常重要的,因?yàn)樗麄兊脑创a是公司最重要的資產(chǎn)之一。這種強(qiáng)調(diào)安全性和權(quán)限控制的設(shè)計(jì)使得 Piper 更適合谷歌的需要。
  • 操作和擴(kuò)展性:Piper 的工作流程被設(shè)計(jì)成能夠滿足 Google 這樣規(guī)模的組織的需求。Piper 提供了一種基于主干的開發(fā)模式,這使得大多數(shù)開發(fā)人員可以在“頭部”進(jìn)行開發(fā),也就是主干代碼的最新版本。此外,Piper 還具有基于云的存儲(chǔ)后端和支持工作區(qū)快照的系統(tǒng),這些特性都使得它更適合谷歌這樣規(guī)模龐大的組織。

SVN

說完了 Facebook 和 Google 使用的版本控制系統(tǒng),最后再來簡單了解一下使用率排在第二的版本控制系統(tǒng)——SVN。TJt28資訊網(wǎng)——每日最新資訊28at.com

SVN,全稱 Subversion,是一個(gè)開放源代碼的版本控制系統(tǒng)。它主要用于管理和跟蹤文件和目錄的變化,允許多個(gè)人在同一個(gè)項(xiàng)目上同時(shí)工作,并且可以追蹤每個(gè)人的修改,以便在需要時(shí)進(jìn)行版本回退或合并。TJt28資訊網(wǎng)——每日最新資訊28at.com

SVN的工作原理是將項(xiàng)目文件和版本歷史存儲(chǔ)在中央資料檔案庫中,這個(gè)檔案庫可以記錄每一次文件的變動(dòng),因此用戶可以把檔案恢復(fù)到舊的版本或?yàn)g覽文件的變動(dòng)歷史。SVN通過高效的分支管理系統(tǒng)實(shí)現(xiàn)多個(gè)人共同開發(fā)同一個(gè)項(xiàng)目,實(shí)現(xiàn)共享資源,并最終實(shí)現(xiàn)集中式的管理。TJt28資訊網(wǎng)——每日最新資訊28at.com

圖片Git 的使用率比 SVN 多的原因主要有以下幾點(diǎn):TJt28資訊網(wǎng)——每日最新資訊28at.com

  • 分布式特性:Git是分布式的版本控制系統(tǒng),每個(gè)開發(fā)者本地都擁有完整的代碼庫,可以獨(dú)立地進(jìn)行代碼提交、分支創(chuàng)建等操作,無需依賴于中央服務(wù)器。而SVN則是集中式的版本控制系統(tǒng),所有的版本信息都存儲(chǔ)在中央服務(wù)器上,開發(fā)者需要通過中央服務(wù)器進(jìn)行代碼的提交和更新。因此,Git更適用于網(wǎng)絡(luò)不穩(wěn)定或團(tuán)隊(duì)協(xié)作地域分布廣泛的場(chǎng)景。
  • 性能優(yōu)勢(shì):由于Git的操作大多在本地進(jìn)行,因此其性能通常比SVN快,特別是在大型項(xiàng)目或網(wǎng)絡(luò)狀況不佳的情況下。SVN在處理大型存儲(chǔ)庫和大文件時(shí)可能會(huì)遇到性能瓶頸。
  • 靈活性和分支策略:Git支持多種分支策略,可以根據(jù)項(xiàng)目需求選擇合適的策略,使得團(tuán)隊(duì)協(xié)作更加靈活。相比之下,SVN在分支支持方面相對(duì)較弱,分支管理較為復(fù)雜。
  • 社區(qū)支持和生態(tài)發(fā)展:Git在開源社區(qū)中得到了廣泛的支持和應(yīng)用,擁有龐大的用戶群體和豐富的生態(tài)資源。這使得Git在功能更新、問題解決等方面更具優(yōu)勢(shì)。

通常情況下,SVN 在以下情況下更適用:TJt28資訊網(wǎng)——每日最新資訊28at.com

  • 集中式管理需求:當(dāng)團(tuán)隊(duì)更習(xí)慣于集中式的版本控制系統(tǒng)時(shí),SVN 可能更為適合,因?yàn)樗鼘?duì)于權(quán)限控制和集中式管理提供了更直接的支持。
  • 簡單操作:對(duì)于那些不需要復(fù)雜分支和合并操作的項(xiàng)目,SVN 提供了更為直觀的界面和操作方式。
  • 二進(jìn)制文件處理:在處理大型二進(jìn)制文件時(shí),SVN 通常比 Git 更加高效,因?yàn)?SVN 對(duì)二進(jìn)制文件的處理較為友好。
  • 穩(wěn)定性需求:在一些企業(yè)環(huán)境中,特別是傳統(tǒng)的軟件開發(fā)公司,他們可能更傾向于使用 SVN,因?yàn)樗兄L時(shí)間的發(fā)展歷史和更成熟的穩(wěn)定性。

總結(jié)

Facebook選擇Mercurial的原因主要是出于性能考量和合作與支持的考慮。隨著代碼規(guī)模的急劇增長,F(xiàn)acebook發(fā)現(xiàn)Git在大型單庫操作上的性能存在限制。與此同時(shí),Mercurial的維護(hù)者和社區(qū)更愿意與Facebook合作,提供了良好的支持和溝通渠道。這使得Facebook工程師們得到了必要的支持,并順利完成了從Git到Mercurial的遷移。TJt28資訊網(wǎng)——每日最新資訊28at.com

而Google選擇自行研發(fā)的Piper系統(tǒng)則是基于其特殊的代碼庫規(guī)模和安全性需求。Google的代碼庫規(guī)模龐大,包含數(shù)億個(gè)文件和大量提交記錄,這要求版本管理系統(tǒng)具備處理大規(guī)模代碼庫的能力。此外,Google還非常注重源代碼的安全性,因此Piper系統(tǒng)在設(shè)計(jì)時(shí)考慮了安全功能,如文件級(jí)別的訪問控制和日志記錄等。TJt28資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://m.www897cc.com/showinfo-26-83637-0.html2024 年了,F(xiàn)acebook、Google 竟然都不用 Git 管理代碼?

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。郵件:2376512515@qq.com

上一篇: 爭論不休的一個(gè)話題:金額到底是用Long還是BigDecimal?

下一篇: 聊聊 RabbitMQ 中的死信隊(duì)列

標(biāo)簽:
  • 熱門焦點(diǎn)
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
亚洲欧洲日本在线| 欧美视频精品在线| 欧美日韩美女在线观看| 亚洲精品乱码久久久久久久久| 亚洲黄色影院| 一级日韩一区在线观看| 欧美午夜精品理论片a级按摩| 在线综合欧美| 欧美日韩在线不卡| 亚洲综合色网站| 亚洲在线中文字幕| 老司机午夜精品| 午夜精品久久一牛影视| 一本一本a久久| 香蕉久久a毛片| 美女啪啪无遮挡免费久久网站| 欧美极品aⅴ影院| 国产精品亚洲不卡a| 在线日本欧美| 亚洲自拍三区| 欧美1区3d| 国产女人18毛片水18精品| 亚洲福利久久| 亚洲在线中文字幕| 老司机亚洲精品| 国产精品久久午夜夜伦鲁鲁| 国语自产精品视频在线看8查询8| 亚洲精品一区二区三区不| 欧美一区影院| 亚洲人屁股眼子交8| 亚洲久久一区二区| 国内精品久久久| 欧美日韩视频在线第一区| 洋洋av久久久久久久一区| 亚洲国产成人午夜在线一区| 亚洲人体一区| 性久久久久久| 欧美日韩天堂| 亚洲国产日韩欧美一区二区三区| 亚洲一区三区视频在线观看| 免费永久网站黄欧美| 国产精品久久一级| 亚洲欧洲日韩在线| 久久久久成人精品| 国产精品毛片va一区二区三区| 亚洲福利久久| 久久精品国产久精国产爱| 国产精品第13页| 亚洲美女毛片| 久久在线视频在线| 国产日韩欧美在线视频观看| 在线天堂一区av电影| 欧美国产视频在线观看| 韩国一区二区三区在线观看| 亚洲欧美日韩天堂一区二区| 欧美日韩美女一区二区| 亚洲激情成人网| 国产精品女主播| 欧美日韩国产在线播放| 久久免费少妇高潮久久精品99| 欧美一区二区三区在线视频| 欧美精品观看| 欧美成人一区二区三区在线观看| 国产午夜精品全部视频播放| 亚洲在线网站| 国产精品白丝jk黑袜喷水| 日韩图片一区| 欧美精品 日韩| 亚洲高清影视| 久久婷婷av| 精品av久久久久电影| 久久精品国产欧美亚洲人人爽| 国产精品永久免费观看| 亚洲永久在线| 国产精品毛片一区二区三区| 亚洲午夜高清视频| 欧美亚男人的天堂| 中文高清一区| 国产精品va在线播放| 亚洲天堂免费观看| 国产精品h在线观看| 亚洲网站在线观看| 国产精品久久一区二区三区| 亚洲视频第一页| 国产精品久久久久国产a级| 一本色道久久加勒比精品| 亚洲丰满在线| 亚洲主播在线观看| 国产精品区一区二区三| 亚洲欧美另类在线| 国产日韩一级二级三级| 欧美伊人精品成人久久综合97| 国产一区二区日韩精品| 久久视频精品在线| 亚洲第一在线综合在线| 欧美激情乱人伦| 99这里只有精品| 国产精品久久午夜夜伦鲁鲁| 欧美一区二区大片| 精品电影一区| 欧美精品一级| 亚洲一区欧美二区| 国产农村妇女精品| 久久久久久有精品国产| 亚洲国产一区二区三区高清| 欧美日本精品| 午夜精品久久久| 韩国精品久久久999| 欧美www视频| 国产精品99久久久久久有的能看 | 欧美fxxxxxx另类| 999亚洲国产精| 国产精品外国| 久久午夜av| 亚洲美女免费视频| 国产精品亚洲欧美| 久久综合网色—综合色88| 亚洲伦理在线观看| 国产精品影片在线观看| 美女黄毛**国产精品啪啪| 一区二区三区av| 国产一区二区三区无遮挡| 欧美成人四级电影| 亚洲主播在线观看| 亚洲电影免费观看高清| 欧美午夜大胆人体| 久久久久久久综合日本| 亚洲精品视频免费| 国产区日韩欧美| 欧美大片在线影院| 亚洲欧美日韩人成在线播放| 亚洲大片精品永久免费| 国产精品成人播放| 久久一区二区三区四区| 一区二区三区精密机械公司 | 亚洲第一福利在线观看| 欧美视频一区二区| 久久色中文字幕| 亚洲午夜激情网页| 樱桃成人精品视频在线播放| 欧美四级剧情无删版影片| 久久久久久9| 亚洲图片欧美日产| 亚洲丶国产丶欧美一区二区三区| 午夜一区在线| 久久精品91久久久久久再现| 在线观看视频一区二区| 国产欧美日韩视频一区二区| 国产伦精品一区二区三区| 欧美精品999| 另类春色校园亚洲| 欧美在线|欧美| 亚洲国产视频一区| 红桃视频国产一区| 海角社区69精品视频| 国产一区二区三区在线观看免费 | 黄色一区二区在线观看| 国产精品福利网站| 欧美激情精品久久久久久蜜臀 | 免费在线国产精品| 欧美在线观看视频一区二区| av成人免费| 亚洲国内精品在线| 激情成人av在线| 国产精品一区二区三区四区| 欧美日韩国产美| 欧美成人精品不卡视频在线观看| 欧美在线高清视频| 亚洲欧洲在线免费| 香蕉久久夜色精品| 一区二区三区日韩欧美精品| 亚洲国产精品成人综合| 国产主播精品| 国产精品一区二区久久久| 欧美日韩综合视频| 欧美精品三级| 欧美不卡激情三级在线观看| 久久人人看视频| 久久久高清一区二区三区| 午夜精品在线看| 亚洲在线观看| 亚洲视频在线看| 一个色综合av| 一本色道久久综合| 亚洲精品日韩综合观看成人91| 亚洲福利小视频| 亚洲福利视频专区| 在线国产精品播放| 在线看国产一区| 1000部国产精品成人观看| 狠狠色狠狠色综合日日小说| 国产一区二区三区在线观看视频 | 亚洲国产裸拍裸体视频在线观看乱了| 韩国成人福利片在线播放| 国产一区二区三区电影在线观看| 国产毛片一区| 国产视频一区在线观看| 国产人妖伪娘一区91| 国产亚洲成av人在线观看导航 | 亚洲成色777777在线观看影院| 伊人精品成人久久综合软件| 尤物九九久久国产精品的特点| 激情视频一区二区| 在线观看不卡av|