你的朋友湊過來說:"直接push到GitHub就行。"你微笑,點頭,心里完全不知道他在說什么。
讀完這篇,你不僅能聽懂這句話,還能自己說出口,甚至講給別人聽。我們從最基礎的開始。
![]()
先搞清楚一個問題:版本控制系統到底是干嘛的?
想象你在做一個網站。改了幾行代碼,網站崩了,卻想不起來之前是什么樣。熟悉嗎?版本控制系統(VCS)就是來解決這個的——它像一臺時間機器,記錄你項目的每一個版本,隨時能回去。
用VCS你能做到:保存代碼的不同版本;出問題時回退到之前的狀態;多人協作不互相覆蓋;還能追蹤誰在什么時候改了什么。
版本控制系統分三種。本地VCS把版本存在你電腦里,但沒法協作。集中式VCS把版本存在一臺中央服務器上,團隊能協作,但服務器掛了所有人都沒法工作。分布式VCS讓每個人都有一份完整的項目副本,既能離線工作,又能靈活協作。Git就屬于第三種,這也是它成為行業標準的原因。
Git是什么?一句話:像Word的修訂模式,但針對整個代碼庫,強大一百倍。
Git是Linus Torvalds在2005年創造的分布式版本控制系統(沒錯,就是開發Linux內核那位)。它運行在你本地電腦上,每次保存進度就拍一張項目快照。
Git的特點很鮮明:速度快,大部分操作本地完成,不需要聯網;支持分支,可以創建項目的平行版本隨便實驗;自帶備份,每個副本都是完整備份;免費開源,全球數百萬開發者在用。
所以當有人說"commit你的改動",意思是Git剛剛給你的代碼拍了一張快照,就像游戲里的存檔點。
那GitHub呢?Git是工具,GitHub是放作品的地方,讓全世界看見。
GitHub是基于云的平臺,把你的Git倉庫托管到網上。Git在本地干活,GitHub讓你:把項目存到云端;和團隊協作;通過Pull Request互相審代碼;用Issues追蹤bug和功能;連接CI/CD流水線自動部署。
記住這個最簡單的區別:Git是本地的版本控制,GitHub是云端的協作平臺。所以當有人說"push到GitHub",意思是把本地的Git快照上傳到云端,讓別人能看見和訪問。
幾個核心概念,用生活化的類比幫你記住。Repository(倉庫)就是帶記憶的項目文件夾,記住里面每個文件的每次改動——"像你的項目文件夾寫了日記"。倉庫可以是本地的,也可以是遠程的(比如在GitHub上)。
Commit(提交)是Git的基本單位,每次commit就是一次項目快照,附帶描述信息說明改了什么。類比來說:commit像拍照,照片存進相冊,相冊就是倉庫歷史。
Branch(分支)是項目的平行時間線。主分支是穩定的線上版本,功能分支用來開發新東西,實驗分支隨便折騰不怕搞壞。用完可以合并回去,也可以直接刪掉。
Push和Pull是本地和遠程的同步操作。Push把本地commit上傳到GitHub,Pull把GitHub上的更新下載到本地。
最后說說為什么這套東西值得學。Git和GitHub不只是工具,它們改變了寫代碼的方式。個人開發者能安全地實驗新想法,團隊能同時推進多個功能不互相干擾,開源社區能讓全球陌生人協作打造Linux、React、TensorFlow這樣的項目。
從小項目開始用,養成commit的習慣,慢慢就會理解為什么"push到GitHub"是開發者最常說的一句話之一。
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.