提及編程和程序員,就不得不提 GitHub。一個被戲稱爲全球最大的同性交友網站,是程序員最喜歡的平臺,沒有之一。程序員
不少人最初接觸 GitHub 會覺得這是個 Git 倉庫的網頁版,實際上 GitHub 和 Git 徹底是兩碼事。編程
吉祥物 Octocat,是一個章魚(octopus)和貓咪(cat)組合而成。後端
![]() |
![]() |
目前,全球絕大部分開源項目都託管在 GitHub 上,包括 Linux、VS Code、OpenStack、Docker、React、Vue、OpenResty、TensorFlow 等重量級項目。來看一組數據網絡
這些數據展現了技術的生命力和開發者旺盛的創新精神。不客氣的說,其餘代碼託管平臺都綁一塊兒,也抵不過 GitHub 一個。還有就是隨着國內開源的項目愈來愈多,質量愈來愈高,使用 GitHub 的中國組織和我的用戶正在不斷增加。工具
2018 年 6 月 GitHub 被微軟 以 75 億美圓03收購後(也是 Github 成立的第 10 個年頭),依舊保持了開發者自由、開放和創新至上的原則、獨立運營的立場以及社會化編程的特性。網站
GitHub 的出現,讓現代軟件開發發生了翻天覆地的變化,真正實現了社會化編程。全世界程序員或技術團隊在自由、開源、民主的環境下,經過網絡和協做的方式共同開發和維護一個軟件產品。設計
真正有生命力的開源軟件都是基於社會化編程的方式構建出來的。另外,如今愈來愈多的大公司把本身的一些代碼放到 GitHub 上,也許是真的爲了擁抱開源,也許只是由於 KPI,但不論如何,GitHub 都是他們的第一選擇。code
問:那 GitHub 是如何實現這種社會化編程的模式呢?cdn
若是你只是將 GiuHub 當 Git 用,建個倉庫扔些代碼就覺得是開源了,沒用過 pull request 與別人協做過,也沒有 merge 過別人的代碼,那你就不是個真正的 GitHub 程序員。blog
pull Request(pr) 採用了一種精巧的設計,讓開發者實現了真正的代碼對話:Talk is cheap, show me the code(一言不合貼代碼)。
說了這麼多,那什麼是 pull Request 呢?舉例來講,好比你寫了一段功能代碼,想找小明作 review,你保留的是本來(倉庫),小明克隆副本到本身的項目中(fork)進行修改,修改好了經過 commit 提交到本地倉庫,最後把提交給你,這就是一次 pull request。此刻,你根據副本內容修改本來,這叫 merge。
...未完待續