在svn中,您可以將存儲庫鏈接到另一個svn存儲庫中的任何文件夾。我想知道git是否有類似的功能?基本上我想要一個git子模塊在我的倉庫中,但是我希望子模塊是指向另一個git倉庫的子文件夾的指針,而不是整個倉庫。這可能嗎?Git Submodule到子文件夾
23
A
回答
18
Git不支持部分簽出,所以submodule必須指向一個完整的存儲庫。
This thread on the Git mail list提供了一些背景信息。
This article from Panther Software提供了其他人嘗試實現類似目標的一些見解(即使用Git複製svn:externals
)。
如果這兩個項目都在您的控制之下,那麼我建議您將您感興趣的「子文件夾」分離爲其自己的獨立回購。然後這兩個項目都可以創建鏈接到它的子模塊。
3
通常,當您嘗試提取某個其他項目的子文件夾時,該子文件夾首先應該是一個單獨的項目,並且父項目都應該指向它。
您可以使用像git subtree這樣的工具提取這樣的子項目的歷史記錄。然後,您可以使用git submodule或git subtree將子樹鏈接回您的項目,無論您喜歡什麼。
+9
並非總是如此。例如,我想將Twitter Bootstrap拖入我的項目中以使用.less文件。我不需要所有的例子和解析器等,只需從/ lib /文件夾中獲取.less文件即可。目前我無法使用子模塊自行獲取 – Hades 2012-01-08 08:56:28
13
我遇到了同樣的問題。它從git級別看起來並不可行,至少不能讓您輕鬆地將其推向父級回購。
但是,您可以解決此限制,通過一個簡單的符號鏈接:
- 設置你的子模塊在一個單獨的目錄。
git submodule add http://example.com/repo.git ./submodules/repo
- 的地方創建一個符號鏈接到子文件夾你想要的:
ln -s ./submodules/repo/subdirectory ./wherever/symlinked_directory
參考文獻:
相關問題
- 1. 使用git和submodule,什麼是好的文件夾結構?
- 2. Git Submodule or fork
- 3. git的子文件夾到分支保存文件夾鏈接
- 4. 推GIT Bash的文件夾到Appharbor不推子文件夾
- 5. Git忽略子文件夾
- 6. Git創建子文件夾
- 7. 無法'git submodule foreach git pull'
- 8. Git忽略子文件夾出現在每個子文件夾
- 9. git submodule「--reference」參數
- 10. git submodule from Hg repo?
- 11. git add submodule of remote
- 12. Github中的文件夾標記爲submodule錯誤地
- 13. 如何一個git子模塊的文件夾`.git`發送到父版本庫git的`/模塊/`文件夾?
- 14. Git Submodule:無法將子模塊更新到較早版本
- 15. 更改Git根文件夾的內容到一個子文件夾
- 16. 倉庫的git部署子文件夾
- 17. git中籤出子文件夾
- 18. git log --stat相對於子文件夾
- 19. Xcode/git不能使用子文件夾
- 20. 子文件夾的Git存儲庫
- 21. git submodule foreach的順序
- 22. 如何反轉`git submodule init`
- 23. 承諾git submodule回購
- 24. git submodule foreach:執行讀取
- 25. git submodule foreach不工作
- 26. 如何「凍結」git submodule
- 27. VSTS git submodule參考錯誤
- 28. heroku + git submodule需要認證
- 29. git update submodule checkout to tag
- 30. git識別文件出.git文件夾
是的,這聽起來像子文件夾應該是它自己的模塊,如果它要兩個項目之間共享。 – 2009-07-13 19:17:27
鏈接死於Panther軟件http://panthersoftware.com/articles/view/3/svn-s-svn-externals-to-git-s-submodule-for-rails-plugins – 2016-08-22 11:07:32