Eclipse Git 實戰:核心概念差異、常用操作與團隊協作避坑指南
Git vs SVN 核心差異
| 維度 | SVN | Git |
| 存儲方式 | 差異比較 | 快照 |
| Patch 關系 | 依附分支,樹狀 | 獨立節點,圖 |
| 本地修改拉取遠程 | 可直接 pull 再合併 | 必須先 commit/stash 再 pull 再 merge(強制分支) |
| Clone 內容 | 可僅 checkout 子目錄 | 必須完整倉庫(含完整歷史) |
Git 缺點(團隊需評估)
- 無目錄級權限控制;
- 無直觀版本號(需靠 tag);
- 不支持部分檢出(大二進制倉庫痛苦)。
Eclipse EGit 核心操作流
- 創建/關聯倉庫:右鍵項目 → Team → Share Project → Git → 創建倉庫建議放在
workspace/.git 父目錄;
- 提交:先 Add 到暫存區(Index) → Commit → Push;
- 拉取:Pull = Fetch + Merge/Rebase;
- 分支:本地分支輕量,鼓勵功能分支開發;
- 衝突解決:EGit 可視化合併工具,雙擊衝突文件 → Merge Tool。
常見誤區避雷
- ❌ 像 SVN 一樣「Commit 即 Push」—— Git 必須分步,否則歷史混亂;
- ❌ 忽略
.gitignore —— 必須排除 target/、.classpath、.settings/、IDE 配置等;
- ❌ 直接在
master 開發 —— 採用 Git Flow 或 GitHub Flow;
- ❌ 大文件入庫 —— 超 100MB 文件用
Git LFS。
圖解:Git 快照存儲
每次提交對所有文件生成指紋(SHA-1),未變文件只存指向前一快照的指針,構成有向無環圖(DAG),這是 Git 高效、離線、分布式的根基。