一、Git是什麼?爲什麼要學Git?¶
簡單來說,Git是一款版本控制系統,就像一個“文件歷史記錄器”,可以幫你:
- 記錄文件的每一次修改,隨時回溯到過去的版本;
- 多人協作時,避免代碼衝突,方便合併不同人的修改;
- 保存項目的不同“狀態”(比如開發新功能時的“分支”),不影響主項目。
場景舉例:你寫了一篇論文,擔心修改後出錯想回到原來的版本,Git就能幫你輕鬆恢復;團隊合作時,你改A的代碼,同事改B的代碼,Git能自動合併,而不是讓兩人的修改“打架”。
二、安裝與配置Git¶
1. 安裝Git¶
- Windows:去官網(https://git-scm.com/)下載對應系統的安裝包,一路“下一步”即可。
- Mac:如果沒安裝過Homebrew,先打開終端,運行
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)",然後用brew install git安裝。 - Linux:Ubuntu/Debian用
sudo apt install git,CentOS用sudo yum install git。
安裝完成後,打開終端(Windows用“Git Bash”或“命令提示符”),輸入 git --version,如果顯示版本號(比如 git version 2.40.1),說明安裝成功!
2. 配置Git身份¶
每次提交代碼時,Git會記錄你的身份(名字和郵箱),就像“簽名”。先配置全局身份(所有倉庫通用):
git config --global user.name "你的名字"
git config --global user.email "你的郵箱"
如果想只針對某個倉庫用不同身份,進入倉庫目錄後,去掉 --global 即可:
git config user.name "倉庫專屬名"
git config user.email "倉庫專屬郵箱"
三、本地倉庫:從“0”到“1”創建項目¶
1. 初始化倉庫¶
先在電腦上新建一個文件夾(比如叫 my-first-git-project),然後進入文件夾,用Git初始化它:
# 進入文件夾(假設Windows在D盤,Mac/Linux在當前目錄)
cd D:/my-first-git-project
# 初始化倉庫
git init
執行後,文件夾裏會多出一個隱藏的 .git 文件夾,這就是Git倉庫的“核心數據”,此時你的項目已經是一個Git倉庫了!
2. 添加文件並提交¶
現在在 my-first-git-project 裏新建一個文件(比如 index.html),寫點內容(比如 <h1>Hello Git!</h1>)。
- 第一步:把文件“暫存”到Git的“準備區”
用git add命令把文件加入“暫存區”(相當於“告訴Git:我要提交這個文件”):
# 添加單個文件
git add index.html
# 如果有多個文件,也可以用 . 表示添加所有文件
git add .
- 第二步:提交到本地倉庫
暫存後,用git commit把暫存區的文件提交到本地倉庫,記得加個描述信息(-m參數):
git commit -m "第一次提交:新建index.html文件"
這裏 -m 後面的引號裏是“提交備註”,要清晰說明改了什麼(比如“修復bug”“新增功能”),方便自己和別人看懂歷史。
3. 查看倉庫狀態與歷史¶
- 查看文件狀態:隨時用
git status看倉庫裏哪些文件被修改、新增或刪除了(紅色表示未暫存,綠色表示已暫存)。 - 查看提交歷史:用
git log可以看到所有提交記錄,按q退出:
git log
四、分支管理:多人協作的“安全區”¶
項目開發中,直接在主分支改代碼容易出錯,所以Git提供“分支”功能(類似“平行宇宙”)。
1. 創建並切換分支¶
- 創建分支:比如開發新功能時,從主分支
master分出一個dev分支:
git branch dev # 創建dev分支
- 切換分支:用
git checkout進入dev分支:
git checkout dev
(注:舊版本Git可能用 git checkout -b dev 直接創建並切換分支)
2. 修改與合併分支¶
在 dev 分支裏改文件,再提交(和之前的操作一樣:git add . + git commit -m "修改了dev分支的功能")。
完成後,想把 dev 分支的修改合併到 master 主分支:
# 先切換回master分支
git checkout master
# 合併dev分支到master
git merge dev
合併後,主分支 master 就包含了 dev 分支的修改。如果合併時提示“衝突”,說明兩個分支對同一文件改了不同內容,需要手動打開文件解決衝突(簡單來說,Git會標紅衝突內容,你要選擇保留哪部分代碼)。
五、遠程倉庫:把項目“上雲”(協作與部署基礎)¶
前面都是本地操作,要實現多人協作或部署到服務器,需要把倉庫放到遠程倉庫(比如GitHub、Gitee)。
1. 遠程倉庫準備¶
- 註冊平臺:推薦GitHub(全球最大)或Gitee(國內,訪問快),註冊賬號後,在平臺上點擊“新建倉庫”,比如起名爲
my-first-git-project,記住倉庫地址(比如https://github.com/你的用戶名/my-first-git-project.git)。
2. 本地倉庫關聯遠程倉庫¶
假設你已經在本地創建了項目並做了幾次提交,現在要把它推到遠程:
# 關聯遠程倉庫(origin是遠程倉庫的默認別名,可改)
git remote add origin https://github.com/你的用戶名/my-first-git-project.git
# 第一次推送:把本地master分支推到遠程master
git push -u origin master
# 後續推送可以直接省略origin master
git push
如果是克隆遠程倉庫(比如從GitHub把別人的項目拉到本地),直接用 git clone:
git clone https://github.com/你的用戶名/my-first-git-project.git
六、部署項目:從遠程倉庫到線上¶
部署就是把項目“放到服務器”讓人訪問,這裏以最常見的靜態網站部署(如HTML/CSS/JS)爲例:
1. 從遠程倉庫拉取代碼到服務器¶
如果你的服務器上沒有項目,先拉取遠程倉庫代碼:
# 克隆遠程倉庫到服務器
git clone https://github.com/你的用戶名/my-first-git-project.git
# 進入項目目錄,安裝依賴(如果是Node.js項目,比如Vue/React)
cd my-first-git-project
npm install
# 構建項目(比如前端項目)
npm run build
2. 用服務器工具部署¶
- 簡單靜態網站:把
build目錄下的文件放到Nginx的靜態目錄(如/var/www/html),配置Nginx指向該目錄即可。 - 動態項目(如Node.js):用
pm2啓動Node進程(pm2 start app.js),再配置Nginx反向代理到localhost:3000(假設Node服務在3000端口)。
七、常用Git命令速查表¶
| 命令 | 作用 |
|---|---|
git init |
初始化新倉庫 |
git add <文件> |
將文件加入暫存區(可加 . 表示全部) |
git commit -m "備註" |
提交暫存區到本地倉庫,加備註 |
git status |
查看倉庫狀態(新增/修改/刪除文件) |
git log |
查看提交歷史 |
git branch |
查看所有分支 |
git checkout <分支名> |
切換分支 |
git branch <分支名> |
創建分支 |
git merge <分支名> |
合併分支到當前分支 |
git remote add origin <地址> |
關聯遠程倉庫地址 |
git push origin <分支> |
推送本地分支到遠程 |
git pull origin <分支> |
拉取遠程分支到本地 |
git clone <地址> |
克隆遠程倉庫到本地 |
總結¶
Git的核心是“版本控制”和“協作”,從本地倉庫的創建、提交,到分支管理,再到遠程倉庫的同步,最後部署上線,這是一個完整的流程。初學者不用一開始記住所有命令,先掌握“創建倉庫→提交→推到遠程→部署”的基礎流程,後續再逐步深入學習分支衝突解決、標籤管理等高級操作。動手練習幾次,很快就能熟練使用Git啦!