當你想要學習 Git 的時候,我猜你應該已經瞭解了什麼時候 Git。沒錯,它就是分佈式版本管理系統。
講人話系列,就拿你上學時候考試來說吧,老師發了一張英語試卷給同學們做。
這時你就想偷懶了,和幾個朋友商量好,一個人做聽力,一個人做閱讀,一個人做完形填空。
最後,你們把各自做的和並起來,一張卷子就做完了。不要問爲啥沒人寫作文,那豈不是抄的很明顯嗎?
好了,閒聊到此,咱們正式開始介紹 Git。(假設你已經安裝並配置好了Git,不會的請百度 )
開局一張圖,內容全靠編!!!圖片借於 該站。
在介紹 Git 之前,這張圖片很有必要熟悉,它會加強你的記憶!
你的倉庫由 Git 的三個部分組成,工作目錄、暫存區、Head。
工作目錄指的是...望文生義就行了,暫存區存的是你臨時的變更,Head 就是你最終提交的區域。
當我們需要提交變更時,一般都是三部曲:git add filename、git commit -m "msg"、git push origin branch(分支)。
git add 將變更文件提交至暫存區,git commit 將暫存區中的文件提交至 Head 區,git push 推送至遠程倉庫。
在瞭解了 Git 的基本信息後,我們以一個實際項目爲例開始我們的教程吧!
我們仍以老師發試卷爲例,首先假設我的身份是老師:
我先在 Github 上創建一個 StudyGit 的倉庫,然後在再本地創建一個倉庫,使之關聯起來。
cd GitRepository
mkdir StudyGit
cd StudyGit
git init
git remote add origin [email protected]:M-Anonymous/StudyGit.git
接下來我在 Github 上發一張試卷,名叫 English,以及一個 README.md 的說明。
vi README.md // 內容自己編 vi English.txt // 內容自己編 git add README.md git add English.txt git commit -m "English Test" git push origin master
好了,作爲老師,我已經完成了發佈作業的任務。
現在假設我的身份是學生Tony,我需要把老師的試卷克隆到本地。
cd GitRepository
git clone [email protected]:M-Anonymous/StudyGit.git
然後完成聽力部分:
cd StudyGit git switch -c hear // 創建並進入 hear 分支 vi English.txt // finish the part of hear git add English.txt git commit -m "finish hear"
git push origin hear
現在假設我的身份是 Tom,需要完成閱讀部分
cd StudyGit // 同一臺機器就 git switch master git switch -c read // 創建並進入 hear 分支 vi English.txt // finish the part of read git add English.txt git commit -m "finish read"
git push origin read
當每個人完成相應的任務後,需要合併分支(目前位於 master 分支)。
git merge hear
git merge read
合併 hear 分支的時候沒有什麼問題,當合並 read 分支的時候會發生衝突。
此時不要慌,出現衝突是正常的:
vi English.txt // 編輯成希望看到的樣子 git add English.txt git commit -m "finish" git push origin master
最終,Tony 和 Tom 終於合作做完了 English Test。
至於其他許多 git 命令,請看 Git Command。