Git 新手教程
一、新電腦 Git 配置
1️⃣ 添加用戶名與郵箱
1 | git config --global user.name "your_name" |
- 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
登錄 GitHub → Settings → SSH and GPG keys
點擊 New SSH key

將
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 | git remote rm origin |
- 或直接修改远程地址:
1 | git remote set-url origin [git项目地址] |
配置文件存于项目根目录
.git/config,可手动修改。
刪除遠程
1 | git remote rm origin |
3️⃣ 設置 .gitignore
- 在项目根目录创建
.gitignore文件,用于忽略不需要上传的文件,例如:
1 | dist/ |
- Tips:
.gitignore文件要在git add前設置好,否則已提交的文件需要先git rm --cached 文件名
4️⃣ 使用 Token 提交 GitHub
若出現身份驗證問題,可使用 Personal Access Token:
1
2Token 名稱:my_token_for_project
Token 示例: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小技巧:
- 遇到提交问题,删除钥匙串中相关 GitHub 项目后再提交即可。
三、Git 基本操作
1️⃣ 提交與修改
1 | git init # 初始化本地倉庫 |
2️⃣ 查看差異
1 | git diff # 工作區 vs 暫存區 |
- Tips:
- 暫存區:已
git add但未 commit 的文件 - 工作區:當前文件狀態
- 暫存區:已
3️⃣ 回退操作
git reset→ 回退到某个版本,不生成新 commitgit revert→ 回退到某个版本,但会生成新的 commit
1 | git reset HEAD^ # 回退所有文件到上個版本(不生成新 commit) |
- Tips:
reset→ 徹底回退,後續 commit 消失revert→ 安全回退,保留歷史,生成新的回退 commit
4️⃣ 查看提交歷史
1 | git log |
- 可以查看 commit ID,用於
git reset或git revert
5️⃣ 遠程操作
1 | git remote -v # 查看遠程倉庫 |
6️⃣ 分支操作
1 | git branch [name] # 新建分支 |
- Tips:
- 使用
git checkout -b feature/login可以快速建立功能分支並切換 - 合併前建議先
git pull避免衝突
- 使用
四、Commit 類型規範
| 類型 | 說明 |
|---|---|
| feat | 新功能(feature) |
| fix | 修復 bug |
| docs | 文檔(documentation) |
| style | 格式修改(不影響程式運行) |
| refactor | 重構(非新增功能或修復 bug) |
| test | 測試相關 |
| chore | 構建過程或工具變動 |
- 示例:
1 | git commit -m "feat: 增加用戶登錄功能" |
🔹 小貼士
- 提交前
git status→ 確認所有改動 - 多用分支開發,保證 master 穩定
- 遇到衝突,先
git pull再手動解決 - Push 前,先
git fetch或git pull避免遠程覆蓋本地