Git — 設定 Git
再開始 Git 之前我們需要設定一些東西,讓我們手把手來設置吧!
前言:
在這邊開始前,希望各位讀者能夠先熟悉終端機(Terminal)常用的指令,熟悉這些指令才不需要再切換資料夾或是新增刪除修改檔案的時候,還需要回頭看這些指令,至少學會基本的指令在之後使用 Git 時候會方便許多。當然可以也可以看一下文字編輯器如何使用,例如:使用 Vim 開啟檔案編輯內容等等,存檔並離開。
⎮ 使用者設定
首先我們需要設定使用者的信箱以及使用者名稱,讓我們打開終端機輸入:
$ git config --global user.name "使用者名稱"
$ git config --global user.email "使用者信箱"
接著我們可以透過 config --list
來確認目前的設定:
user.name=使用者名稱
user.email=使用者信箱
然後關於指令縮寫或是其他編輯器的設定可以查看下列文章:
⎮ 初始化 Git
首先讓我們到桌面新增一個資料夾,並且我們使用它作為我們 Git 的目錄,順便複習一下 terminal 的指令:
$ cd Desktop/ // 切換到桌面
$ mkdir GitPractice // 建立 GitPractice 目錄
$ cd GitPractice // 切換到 GitPractice 中
$ git init // 初始化目錄,讓 Git 開始進行版本控制
如此一來 Git 就對開始對這個 GitPractice 進行版控,如果我們不想要讓這個目錄被 Git 控制,我們只需要把這個目錄中的隱藏檔 .git 目錄移除即可。
因為 Git 的版控全都是靠著 .git 目錄在記錄,所以如果目錄中檔案的任何改動都可以進行恢復,但是一旦這個 .git 目錄被刪掉後,就都無法恢復了。
⎮ 把檔案加到 Git
$git status
● 查看目錄狀態
我們在操作 Git 的時候,常常會使用 git status
這個指令來查看目前這個 git 目錄的狀態,也就是「改動」了什麼。所以我們先在先嘗試輸入一次:
你會看到它會說在 master 的分支(branch)上,還沒有提交(commit)以及沒有東西需要 commit。所以接下來我們在這個目錄中新增一個檔案:
// 新增一個 hello 的 txt 文件,並在其中設置內容 "Hello, World"
$echo "Hello, World" > hello.txt
// 可以使用 ls 指令查看目錄下的文件,來檢查是否新增成功
接著我們在輸入一次 git status
查看目錄狀態:
前面的兩個訊息依然沒有改變,但是最後的訊息變為 Untracked files,它告訴我們可以使用 git add <file>
來包含我們將要 commit 的東西。所以這時我們可以使用這個指令讓 git 追蹤這個檔案:
● 將檔案加入暫存區
$git add
這時你會看見我們的 hello.txt 這個檔案的狀態從 untracked 變成 new file 了。這時候表示我們的檔案被放到暫存區( Staging Area )。
那假設你今天有許多檔案需要放到暫存區的話,我們能夠使用:
$git add *.txt // 將副檔名為 .txt 的檔案加入暫存區
$git add --all // 將全部的檔案加到暫存區
$git add . // 將全部的檔案加到暫存區
這邊你會發現我們有兩個指令都是把全部的檔案放到暫存區,但是這兩者有一些不同的地方:
git add .
:執行這個指令時,它會將此專案目錄底下的全部的子目錄、子子目錄…全都加入暫存區,在這個目錄以外的更動都不管。git --all
:當我們執行這個指令時,不管目前在哪個專案目錄下的哪一層執行,效果都是一樣的,此專案目錄下的所以更動都會被加入暫存區。
所以當位置都在專案根目錄底下執行時的效果是相同的。但是在某些版本(git 1.x)這兩者指令還是會有些為差距。
● 將暫存區檔案提交到儲存庫儲存
$git commit
在前面我們執行 git add
的指令只有把檔案加入暫存區追蹤,但這樣還不算完整整個 git 的流程。如果真的要讓暫存區的檔案永久的存下來,我們會使用 git commit
指令將到提交到儲存庫(Repository)儲存:
我們在 git commit
指令後加上 -m "init commit"
其實就是在說標示這次提交的訊息,可以在 -m
後加上這次改動的訊息,簡單扼要的說明這次更動的內容即可。
其實我們每次執行 git commit
指令都是把暫存區中的內容提交到倉庫儲存。所以如果這時還沒將檔案加到暫存區,那麼就不會提交到儲存庫中。
注意!直到完成 commit 才算完成一個 完整的 Git 流程 。
⎮ 關於 Commit
● Commit 訊息重要嗎?
你可以想像 commit 訊息就是在告訴自己或是團隊這次 commit
的版本做了什麼變動,因此我們很容易就能看出每個版本做了什麼事情,在之後回復版本的時候也能快速地回到我們想要的版本。
所以盡量的使用簡單、清楚的描述來說明這次做了什麼,例如:修正首頁 CollectionView UI
、新增登入畫面
、修正登入錯誤 Bug
等等。所以如果訊息內容為: UI changed
、Bug fixed
、File was modified
我相信沒有多少人看得懂。
記住也不要使用情緒性的內容當作 commit 🤬,假如你已經 commit 過 fxxk 之類的內容請記得修正它 😏
● 輸入 commit 後跳出一個莫名的視窗
在我們輸入 commit 後,如果我們沒有使用 -m
加上 commit 訊息的話,預設會挑出一個叫做 Vim 的編輯器,如果是第一次使用它的人可能會不曉得如何使用:
這時候我們可以去查詢 Vim 的編輯器如何操作,這邊大概教大家一個簡單使用 Vim 進行 commit 的方式:
① 先按下鍵盤上的 i ,進入 Vim 的編輯模式,這時候你會看到 Vim 左下角會顯--Insert--
這時候表示你成功進入編輯模式。
② 在我們的第一行輸入我們想要的 Commit 內容,結束之後按下 esc 退出編輯模式。
③ 按下鍵盤的 : 鍵,這時候會發現我們的左下角可以輸入文字,接著我們輸入 :wq
,表示儲存並離開 Vim。
這時你可以看到我們成功離開了 Vim 編輯器了 🎉,所以進入到 Vim 編輯器的時候不需要害怕,用一些簡單的 Vim 指令也可以完成:
後記:
那們我們這次初入 Git 的教學就到這邊結束了,這次教的幾個 Git 指令:git status
、git add
以及 git commit
可能會是你在使用 Git 時最長會使用到的指令,學會了這一套流程你就能進行一個專案目錄中版本的提交,Git 同時也能夠對你的專案目錄進行版控了。