【Git】新手教程


Git 新手教程

一、新電腦 Git 配置

1️⃣ 添加用戶名與郵箱

1
2
git config --global user.name "your_name"
git config --global user.email "your_email@example.com"
  • Tips
    • --global 代表全局設置,如果某個項目想使用不同名字,可在該項目目錄下不加 --global 設置本地名字。
    • 設置後可用 git config --list 查看配置。

2️⃣ 生成 SSH 公鑰與私鑰

1
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
  • 生成位置:默認 ~/.ssh/
  • 文件說明:
    • id_rsa → 私鑰,請妥善保管
    • id_rsa.pub → 公鑰,後續添加到 GitHub
  • Tips
    • 生成時可直接按 Enter 使用默認路徑和文件名
    • 設置 passphrase(密碼)可提高安全性

3️⃣ 配置 GitHub SSH Key

  1. 登錄 GitHub → SettingsSSH and GPG keys

  2. 點擊 New SSH key

  3. id_rsa.pub 內容粘貼到 Key,Title 自定義即可


4️⃣ 測試連接

1
ssh -T git@github.com
  • 第一次會提示 yes/no → 輸入 yes
  • 成功返回:Hi <username>! You've successfully authenticated...

二、遠程倉庫操作

1️⃣ 拉取遠程代碼

1
git pull origin master

2️⃣ 關聯遠程倉庫

  • 添加遠程
1
git remote add origin [git項目地址]
  • 如果已存在远程仓库,先删除
1
2
git remote rm origin
git remote add origin [git项目地址]
  • 或直接修改远程地址
1
git remote set-url origin [git项目地址]
  • 配置文件存于项目根目录 .git/config,可手动修改

  • 刪除遠程

1
git remote rm origin

3️⃣ 設置 .gitignore

  • 在项目根目录创建 .gitignore 文件,用于忽略不需要上传的文件,例如:
1
2
3
dist/
node_modules/
*.log
  • Tips
    • .gitignore 文件要在 git add 前設置好,否則已提交的文件需要先 git rm --cached 文件名

4️⃣ 使用 Token 提交 GitHub

  • 若出現身份驗證問題,可使用 Personal Access Token:

    1
    2
    Token 名稱:my_token_for_project
    Token 示例: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
  • 小技巧

    • 遇到提交问题,删除钥匙串中相关 GitHub 项目后再提交即可。

三、Git 基本操作

1️⃣ 提交與修改

1
2
3
4
git init           # 初始化本地倉庫
git clone [url] # 克隆遠程倉庫
git add [file] # 暫存文件
git commit -m "commit message" # 提交

2️⃣ 查看差異

1
2
3
git diff               # 工作區 vs 暫存區
git diff [file] # 指定文件
git diff --cached [file] # 暫存區 vs 上次 commit
  • Tips
    • 暫存區:已 git add 但未 commit 的文件
    • 工作區:當前文件狀態

3️⃣ 回退操作

  • git reset → 回退到某个版本,不生成新 commit
  • git revert → 回退到某个版本,但会生成新的 commit
1
2
3
4
5
git reset HEAD^            # 回退所有文件到上個版本(不生成新 commit)
git reset HEAD^ [file] # 回退指定文件
git reset [commitID] # 回退到指定 commit
git push -f origin # 強制推送遠程
git revert [commitID] # 生成新 commit 回退指定 commit
  • Tips
    • reset → 徹底回退,後續 commit 消失
    • revert → 安全回退,保留歷史,生成新的回退 commit

4️⃣ 查看提交歷史

1
git log
  • 可以查看 commit ID,用於 git resetgit revert

5️⃣ 遠程操作

1
2
3
4
5
git remote -v      # 查看遠程倉庫
git fetch # 拉取遠程最新版本,不 merge
git pull # 拉取遠程最新版本,自動 merge
git push origin master # 推送到 master
git push -f origin # 強制推送

6️⃣ 分支操作

1
2
3
4
5
6
git branch [name]       # 新建分支
git checkout [name] # 切換分支
git checkout -b [name] # 新建並切換分支
git branch -d [name] # 刪除分支
git merge [name] # 将[name]分支与当前所在分支合并
git status # 查看当前分支状态,是否有文件需要提交,若有冲突,会显示冲突文件
  • Tips
    • 使用 git checkout -b feature/login 可以快速建立功能分支並切換
    • 合併前建議先 git pull 避免衝突

四、Commit 類型規範

類型 說明
feat 新功能(feature)
fix 修復 bug
docs 文檔(documentation)
style 格式修改(不影響程式運行)
refactor 重構(非新增功能或修復 bug)
test 測試相關
chore 構建過程或工具變動
  • 示例
1
2
3
git commit -m "feat: 增加用戶登錄功能"
git commit -m "fix: 修復登錄頁面崩潰 bug"
git commit -m "docs: 更新 README 文檔"

🔹 小貼士

  1. 提交前 git status → 確認所有改動
  2. 多用分支開發,保證 master 穩定
  3. 遇到衝突,先 git pull 再手動解決
  4. Push 前,先 git fetchgit pull 避免遠程覆蓋本地