Git Subtree:多專案整合的實用技巧
Git Subtree 介紹
什麼是 Git Subtree?
git subtree 是 Git 內建的專案管理工具,它解決了一個常見的開發需求:
如何在專案 A 中整合專案 B 的程式碼,同時保持專案 B 的獨立性與可更新性?
假設你正在開發一個主專案,需要使用另一個獨立維護的函式庫。如果只是把那個函式庫 clone 下來後複製到主專案中,雖然可以使用,但會遇到幾個問題:無法追蹤程式碼來源、難以同步原始專案的更新、無法將改進推送回原始專案。類 似的情境還包括:
- 如何將主專案中某個模組拆分成獨立的 repository 供其他專案使用?
- 如何將多個獨立的小專案整合到一個統一的大 repository 中?
Git Subtree 提供的功能可以很好地解決這些問題。它可以將一個外部 Git repository 的內容完整嵌入到你的專案的子目錄中。這些內容會真正成為你的專案的一部分(不是連結或參照),同時保留與原始專案的關聯。使用 Git Subtree 後,你的專案結構可能如下:
main-project/
├── .git/
├── src/
│ └── main.js
├── lib/
│ └── shared-library/ ← Git Subtree (來自外部 repo)
│ ├── index.js
│ └── utils.js
└── README.md