1. 程式人生 > 實用技巧 >一個新的 git 學習課程(1)

一個新的 git 學習課程(1)


  • 術語

版本控制系統 / 原始碼管理器

版本控制系統(簡稱VCS)是一個管理原始碼不同版本的工具。原始碼管理器(簡稱SCM)是版本控制系統的另一個名稱。

Git 是一個 SCM(因此也是 VCS!)。Git 網站的 URL 是https://git-scm.com/(注意它的域名中直接包含“SCM”!)。

提交(Commit)

Git 將資料看做微型檔案系統的一組快照。每次commit(在 Git 中保持專案狀態),它都對檔案當時的狀況拍照,並存儲對該快照的引用。你可以將其看做遊戲中的儲存點,它會儲存專案的檔案和關於檔案的所有資訊。

你在 Git 中的所有操作都是幫助你進行 commit,因此 commit 是 Git 中的基本單位。

倉庫(Repository / repo)

倉庫是一個包含專案內容以及幾個檔案(在 Mac OS X 上預設地處於隱藏狀態)的目錄,用來與 Git 進行通訊。倉庫可以儲存在本地,或作為遠端副本儲存在其他計算機上。倉庫是由 commit 構成的。

工作目錄 / 工作區(Working Directory)

工作目錄是你在計算機的檔案系統中看到的檔案。當你在程式碼編輯器中開啟專案檔案時,你是在工作目錄中處理檔案。

與這些檔案形成對比的是保持在倉庫中(在 commit 中!)的檔案。

在使用 Git 時,工作目錄與命令列工具的 current working directory (當前工作目錄)不一樣,後者是 shell 當前正在檢視的目錄。

檢出(Checkout)

檢出是指將倉庫中的內容複製到工作目錄下。

暫存區 / 暫存索引 / 索引(Staging Area / Staging Index / Index)

Git 目錄下的一個檔案,儲存的是即將進入下個 commit 內容的資訊。可以將暫存區看做準備工作臺,Git 將在此區域獲取下個 commit。暫存索引中的檔案是準備新增到倉庫中的檔案。

SHA

SHA是每個 commit 的 ID 編號。以下是 commit 的 SHA 示例:e2adf8ae3e2e4ed40add75cc44cf9d0a869afeb6

它是一個長 40 個字元的字串(由 0–9 和 a–f 組成),並根據 Git 中的檔案或目錄結構的內容計算得出。SHA 的全稱是"Secure Hash Algorithm"(安全雜湊演算法)。如果你想了解雜湊演算法,請參閱我們的

電腦科學入門課程

分支(Branch)

分支是從主開發流程中分支出來的新的開發流程。這種分支開發流程可以在不更改主流程的情況下繼續延伸下去。

令分支非常強大的關鍵之處是你可以在一個分支上設定儲存點,然後切換到另一個分支並繼續設定儲存點。


  • 執行命令:
# 設定你的 Git 使用者名稱
git config --global user.name "<Your-Full-Name>"

# 設定你的 Git 郵箱
git config --global user.email "<your-email-address>"

# 確保 Git 輸出內容帶有顏色標記
git config --global color.ui auto

# 對比顯示原始狀態
git config --global merge.conflictstyle diff3

git config --list