git能火是人性的光輝
git現在火的一塌糊塗。當年的svn風光不再。如下是我在google trends上查到結果,可以作為佐證:
然而,總有人要問一個--為什麼!!!
我之前看到不少這樣那樣的說辭,然而我覺得 - 說git好的,都沒有說到點子上 - 說git不好的,可能真是不懂linus創造git的上下文。要是拿企業內開發的上下文來看git,可是看不出什麼好的。
我曾經暫時忘掉SVN,為了Git而學習Git,以Linus的思維替代我的思維。百般思考後,在觀看了Linus在google的演講後,我覺得我找到了Git的脈搏。
版本管理工具的本質價值之一是多人的協作。Git的成功是因為認識到了人性。一點也不誇張,讓我娓娓道來。
- 自洽的、最少依賴的個人工作得到支援
1000多人的Linux開發團隊是分佈在世界各地的,使用git也就不必依賴中心伺服器、不必需要很少的網路。就在自己的電腦上就有完整的倉庫,可以做任何版本管理,除了分享程式碼。SVN顯然是不合適的,因為單點故障大家甚至無法提交,更加無法開分支,這是無法忍受的。
- 剔除害群之馬很簡單
如果Linus經過觀察,發現有些程式設計師特別容易出漏子,那麼封殺的辦法就是不必拉取即可。實際上Linus就是這樣幹過。如果是SVN,就變成了撤銷惹麻煩的開發者的賬號或者限定他的訪問範圍,並且從倉庫中移除麻煩的程式碼提交。就是說,封殺的方法在git而言,是不做某事即可,SVN是做一系列事情才可以。一正一反,大家可以體會一下。Linus喜歡前者,並且得心應手。這樣的工作流程就避開了很多“政治”問題,讓他的整合程式碼過程變得主動。
- 可以使用信任網路
Linux太大了,不可能完全看完補丁程式碼的方式來識別信任,這個Linus曾經幹過,最後的結果當然是放棄。如果發現有些程式設計師特別優秀,他只要選擇拉取他們的實現。這些程式設計師也只是拉取他們信任的程式設計師的實現。這樣的信任網路是可以層次化的,因此對應於1000多人的開發者來說,這樣做確實可以通過分層的信任網路達成大規模的團隊協作。如果是SVN,我不知道如何做可以更好
4.輕量的分支開銷鼓勵大量被使用。對於這樣的團隊,為了敏捷的迭代,如果有想法就分支(這樣的開發隔離想法是很有價值的),那麼在svn上分支是海量的並且全域性的大家互相影響,因此是要命的。而對於Git總數當然是海量,但是每個人的分支都在自己的倉庫內,不會影響到他人。且分支無需連線伺服器,因此是飛速的。
所以,對於Linux團隊來說,Git是必須的。特別是它的分散式,可以幫助建立信任網路,減少政治問題。所以說它的設計首先是關於人的,關於最佳的工作流程的。而Git技術則是這些思想的完美載體。
Linus不僅僅建立了Linux,也實際上管理著一個巨大的團隊,做法就是用一套工具提供信任網路和少政治的工作流程,從而可以不管。說Linus是此團隊的“仁君”,並非繆贊。想想混亂的現實世界,我確實對這個高手團隊的管理方法感到敬佩。
這解釋了開原始碼專案使用git的熱潮。它符合人性的光輝。
SVN當然可以繼續用,在企業內部其實也有它的簡單和方便之處。然而,這些年企業內的開發流程乏善可陳,開源界紅紅火火,那些整日貧乏的面孔,不去學習開源界的性感怎麼辦。
所以,git就這麼火了唄。
對了,利益相關,我寫了一本git小書的。
相關文章
- 如何在 ThreeJS 中實現輝光效果JS
- Deep Glow mac(AE高階輝光特效外掛)Mac特效
- Deep Glow for mac(AE高階輝光特效外掛)Mac特效
- AE真實輝光特效外掛:Real Glow mac漢化版特效Mac
- OCP網路卡:資料的溫度是人性給的
- git時光穿梭機--女神的側顏Git
- 堅持發揚EJB、Spring的光輝思想,將元件化進行到底!Spring元件化
- 榮光加冕,共築輝煌,2024黑石獎圓滿落幕!
- 《人類》OpenDev 版:強烈的既視感無法掩蓋創意的光輝dev
- 協鑫能科王振輝:打造綠色高效補能服務網路
- 網賺類遊戲還能火多久?遊戲
- 光輝城市釋出數字孿生新品 賦能行業共建智慧城市行業
- GitHub 是怎麼火起來的Github
- [吐槽] 光Google是不夠的Go
- 太人性了!12306客戶端新增火車正晚點查詢客戶端
- Amazing!!CSS 也能實現極光?CSS
- 地輝
- AE高 級輝光特效外掛 Deep Glow 破解版附完整安裝教程特效
- 光點資料中臺能幹啥?怎麼做?用在哪?_光點科技
- 計算機行業還能火幾年?計算機行業
- 人性PK演算法 微軟Google誰是最終的搜尋贏家?演算法微軟Go
- IT真的是萬能的嗎?
- 人工智慧輝煌發展的格局下,是誰在默默相助?人工智慧
- EMC葉成輝:雲端儲存是一門省錢的學問
- 新火種AI | 誰是AI時代的“抖音”?AI
- 不切換 Git 分支,卻能同時在多個分支上工作,我是怎麼做到的?Git
- 什麼是資料分析,資料分析能為企業帶來什麼?_光點科技
- 大資料助餐飲行業創新開發,享受更加人性化的服務_光點科技大資料行業
- Python能幹什麼?為什麼會火?Python
- GPU精粹與Shader程式設計(三):實時輝光與透視陰影貼圖GPU程式設計
- Deep Glow外掛下載 AE模擬真實輝光效果外掛 附註冊碼
- 光流法應用——自適應檢測視訊火車速度
- 火熱的低程式碼到底是什麼?
- 人性的弱點讀書筆記筆記
- 狠狠記住的“人性潛規則”
- OpenAI宮鬥反轉反轉再反轉,到底是資本任性還是人性扭曲?OpenAI
- 原來你是這樣的GitGit
- 資料治理的核心是什麼?_光點科技