我覺得我在這里做錯了(我知道我在架構方面做錯了,但這是一個簡單的專案)。
有兩個(“三個”)子專案,位于同一個檔案夾 ( proj) 中:
- Angular 前端 (
proj/fe) - 基于 Typescript (node.js) 的后端 (
proj/lambda) - 包含 DTO (
proj/domain)的共享“域”目錄
據我了解,在理想情況下,這將是三個獨立的存盤庫,其中 #3 是 #1 和 #2 的 git 子模塊。
但這是一個很小的專案,而且我不在一個理想的世界里,所以我需要將所有內容保存在同一個 git repo 中。
當前設定是“域”目錄(子專案#3)通過符號鏈接呈現給#1 和#2;ieproj/fe/src/app/domain并且proj/lambda/code/domain都指向 proj/domain.
Git 似乎并沒有開箱即用地很好地處理這種情況。
有沒有我可以在這里使用的選項或標志(或更好的方法——不解決使用多個 repos)?
uj5u.com熱心網友回復:
git知道如何存盤和簽出符號鏈接,問題是它存盤了您為符號鏈接提供的確切路徑。
(請仔細檢查您是否正在運行 Windows)
如果您為符號鏈接提供相對路徑(并且如果這些路徑不逃避 repo),您的設定應該可以作業:
cd proj/
ln -nsf ../../../domain fe/src/app/domain
ln -nsf ../../domain lambda/code/domain
# on any checkout: the symlinks will point to that directory, two or
# three levels higher than current directory
如果您改用絕對路徑:
ln -nsf /path/to/proj/domain fe/src/app/domain
ln -nsf /path/to/proj/domain lambda/code/domain
簽出的符號鏈接將指向/path/to/proj/domain- 這不是您在開發筆記本電腦以外的系統上想要的。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/530849.html
上一篇:如何使用單個命令在Ubuntu上將gitpush`gitpush`到GitHub,而不必每次都輸入我的電子郵件?
