一個新的 git 學習課程(1)
- 安裝 git: 轉到https://git-scm.com/downloads
- 術語:
版本控制系統 / 原始碼管理器
版本控制系統(簡稱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