Git 是一款分布式版本控制工具,廣泛用於軟體開發過程中,協助開發者追蹤代碼變更、協作開發以及版本管理。Git 的特點是高效、靈活,支持分支操作,並且能夠處理大規模的代碼庫。下面是一個簡單的 Git 教學,幫助你快速了解 Git 的基本概念和使用方法。
?? 一、什麼是 Git?
Git 是一個版本控制系統,用於跟蹤文件的變更,協作多人開發。它支持以下特點:
- 版本控制:Git 可以追蹤文件歷史,幫助開發者管理每個版本的代碼。
- 分支管理:Git 讓開發者可以輕鬆創建、切換和合併分支。
- 分布式:每個 Git 用戶都有代碼庫的完整副本,可以脫機工作並在需要時同步到遠程倉庫。
Git 的主要用途是管理軟體代碼,但也可以用於其他需要版本控制的文檔(如文學作品、設計文件等)。
? 二、如何安裝 Git?
1️⃣ 下載 Git
- 訪問 Git 官方網站。
- 根據你的操作系統選擇下載(Windows、macOS、Linux)。
2️⃣ 安裝 Git
- 下載完成後,運行安裝包並按照提示完成安裝。
- 安裝完成後,打開終端或命令提示符,輸入
git --version,檢查 Git 是否安裝成功。
? 三、Git 基本概念
1️⃣ Git 倉庫(Repository)
Git 倉庫是用來存儲和管理代碼的地方。倉庫可以是本地倉庫,也可以是遠程倉庫。
- 本地倉庫:存在於你的電腦上,通過 Git 命令操作。
- 遠程倉庫:如 GitHub、GitLab、Bitbucket 等,存放代碼的遠程服務器。
2️⃣ 工作區(Working Directory)
工作區是當前正在編輯的文件所在的位置。這些文件會顯示為修改過或新創建的狀態,尚未提交到 Git 倉庫中。
3️⃣ 暫存區(Staging Area)
暫存區是 Git 管理文件變更的地方。你將修改過的文件放入暫存區,然後提交到 Git 倉庫。
4️⃣ 提交(Commit)
提交是將暫存區的內容保存到 Git 倉庫中的操作。每次提交都會產生一個新的版本,並且具有唯一的識別 ID。
? 四、Git 常用命令
1️⃣ 初始化倉庫
如果你在開始一個新項目,使用以下命令初始化 Git 倉庫:
git init
這個命令會在當前目錄創建一個 .git 文件夾,這是 Git 用來管理版本和配置的地方。
2️⃣ 克隆遠程倉庫
如果你想從 GitHub 或 GitLab 等遠程倉庫複製一個現有的項目,可以使用以下命令:
git clone <repository_url>
例如:
git clone https://github.com/username/repository.git
3️⃣ 查看狀態
在修改文件後,你可以查看文件的當前狀態(哪些文件被修改,哪些文件尚未添加到暫存區):
git status
4️⃣ 添加文件到暫存區
當你修改了文件後,使用以下命令將改動添加到暫存區:
git add <filename>
如果你想添加所有修改過的文件:
git add .
5️⃣ 提交更改
將暫存區的內容提交到本地倉庫:
git commit -m "提交信息"
其中 "提交信息" 是對這次更改的描述,建議寫明修改的具體內容。
6️⃣ 查看提交歷史
你可以使用以下命令查看提交的歷史紀錄:
git log
這將顯示提交的詳細信息,包括提交 ID、提交人、提交時間和提交消息。
7️⃣ 推送更改到遠程倉庫
如果你正在與遠程倉庫協作,提交更改後,使用以下命令將更改推送到遠程倉庫:
git push origin <branch_name>
其中 <branch_name> 是你想要推送的分支名稱,通常默認是 master 或 main。
8️⃣ 拉取遠程倉庫的更改
當其他人提交了更改,你可以使用以下命令將遠程倉庫的最新更改拉取到本地倉庫:
git pull origin <branch_name>
這會將遠程倉庫的內容合併到本地倉庫。
9️⃣ 創建分支
分支允許你在不改動主線代碼的情況下進行新功能的開發。創建分支的命令如下:
git branch <branch_name>
? 切換分支
切換到其他分支進行工作:
git checkout <branch_name>
1️⃣1️⃣ 合併分支
當你完成了一個分支的開發,想將它合併回主分支(通常是 master 或 main)時,使用以下命令:
git merge <branch_name>
這會將 <branch_name> 的更改合併到當前分支。
?? 五、Git 高級功能
1️⃣ 使用 Git Tag 標籤
Git 標籤用於標記某個特定提交版本(通常是發布版本):
git tag <tag_name>
例如:
git tag v1.0
2️⃣ 處理衝突
當兩個分支合併時,若修改了同一文件的同一部分,Git 會提示衝突。你需要手動解決衝突,然後提交:
- 打開有衝突的文件,修改衝突部分。
- 添加已解決衝突的文件:
git add <conflicted_file> - 提交合併:
git commit
3️⃣ 創建 Git 別名
Git 支持創建命令別名,讓你可以用更短的命令來執行常用操作。例如,將 git status 設置為 git st:
git config --global alias.st status
這樣,以後你就可以用 git st 來代替 git status。