一、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啦!

小夜