1.4 Git的使用
我們平時是如何管理修改文檔的?很多人對于檔案的管理是非常混亂的,尤其是多個人協作的時候,經常發現别人發給自己的文檔居然是在之前的版本上修改的,這讓人十分頭疼。管理稍微好一點的,可能會給不同版本的檔案名上加上類似V1、V2這樣的版本資訊以作區分,但時間稍微長一點就會發現自己的檔案夾裡存在了大量不同字尾的檔案,看着并不幹淨整潔。
我們會想要一個工具能夠記錄一個文檔的不同版本,我不用擔心檔案的丢失,當我不想要最近的修改的時候,能夠友善的回退到曆史版本中去。更重要的是和夥伴協作的時候,能夠保證夥伴是在最新的版本基礎上修改。那麼有這樣一個工具嗎?答案是肯定的。本節我們就是要介紹Git這個版本控制工具,以及知名的遠端倉庫GitHub。
在學習過程中如果有任何操作的問題都可以看Pro Git 中文版 ,文檔裡有對Git的詳細介紹。學會看文檔也是我們學習程式設計路上必不可少的技能。
1.4.1 Git的安裝
「Windows使用者」
在搜尋引擎裡搜尋“Git”可以找到官方下載下傳 頁面,如圖1.4.1-1所示,選擇對應作業系統的版本進行下載下傳。
下載下傳後安裝的過程中一直點選“next”采用預設配置,如圖1.4.1-2示。安裝完成後在windows開始菜單裡會增加一個“Git”的檔案夾,如圖1.4.1-3所示,點選“Git Bash”,打開指令終端,後面我們對于版本控制的操作就需要在這個終端中進行,如圖.4.1-4所示。
「Ubuntu使用者」
對于Ubuntu系統的使用者,可以不用上述安裝過程,直接在終端裡運作指令:
sudo apt-get install git
「Mac使用者」
Mac和ubuntu都是類unix系統,都可以在終端裡用指令安裝:
brew install git
1.4.2 建立Git倉庫
現在我們安裝好了Git,那麼我本地有一個檔案夾,我想對它進行版本控制,需要怎麼做呢?
很簡單我們在需要在終端裡(Windows裡為Git Bash),進入到需要版本控制的檔案夾,執行:
git init
平時用Window的讀者可能不清楚在終端裡進入某個檔案夾,例如,電腦D盤下有一個IT的檔案夾,進入這個檔案夾就執行:
cd d:/IT
這裡的
cd
指令就是切換目錄。如果檔案夾路徑比較長,我記不住怎麼辦?你可以通過使用
cd
指令,再使用
ls
指令檢視目前檔案目錄下有哪些檔案後,再使用
cd
到你想切換的目錄,如圖1.4.2-1所示。
❝
注:輸入路徑時可以使用Tab鍵補全。
❞
當我們執行
git init
初始化後,就會在目前檔案夾下建立一個'.git'的隐藏檔案夾用來存儲版本控制的資料和資源。當然,現在還不會對目前檔案夾下的檔案進行跟蹤和版本控制,隻是進行了結構化架構的初始化。現在執行:
git status
這個指令是使用最頻繁的指令之一,作用是檢查檔案狀态,簡單點了解就是系統是否有記錄檔案修改,以及修改是否有送出。隻有系統進行了記錄,将來我們想退回到某個之前的版本才有可能。
為了示範友善,我建立了一個audit.txt檔案,裡面隻有一行字元串“this is an initialtext”,運作
git status
後,如圖1.4.2-2所示,顯示audit.txt未被跟蹤。
如果我們想将檔案納入到版本控制就需要使用
git add
指令跟蹤這些檔案:
git add 檔案名
這裡我可以用
git add .
添加目前檔案夾下所有檔案,或者隻添加一個檔案
git add audit.txt
。添加完成後,我們再運作
git status
,如圖1.4.2-3所示:
系統告訴提示我們“changes to be committed”,意思是讓我們對修改進行送出,并且對需要送出的檔案進行了列示。可能第一次接觸Git的讀者很有疑惑,我剛剛不是已經用
git add
對檔案添加并跟蹤了嗎?怎麼還需要我送出?
這就需要說明下Git有一個暫存區(staged)的概念,開始我們使用
git add
隻是将對檔案的修改記錄到了暫存區裡,我們在文檔的編寫過程中,可能會有多次修改,通過
git add
可以跟蹤到我們每一次修改,添加到暫存區,而最後我們我們需要做一次「送出」。
git commit -m '送出描述'
這裡的'送出描述'是對于本次送出的版本進行簡要說明,友善你自己辨識。
如圖1.4.2-4所示,在我們執行
git commit
後,并沒有送出成功,系統回報說:“please tell me who you are”,并讓我們執行下面兩條語句:
git config --global user.email "[email protected]xample.com" git config --global user.name "Your Name"
這是讓我們設定郵箱和使用者名,以此作為我們的身份辨別。如圖1.4.2-5所示,我們進行設定後,再執行
git commit
就能正常完成送出,再用
git status
檢視狀态可以發現我們成功了。
結語
整個寫作過程我将釋出在github上,大家可以在下面的網址中随時檢視。
IT Audit
涉及到具體操作示範的,我會錄制視訊,釋出在bilibili上,大家可以免費觀看。
在寫具體章節的時候,我會盡量以一個小作業供大家練習,這種以解決問題的方式應該是學起來最快的。
這個小作業,後面我會在知識星球發出,有疑問的會在裡面和大家一起探讨。