[英]How to change a git submodule to point to a subfolder?
瀏覽SubModule 教程后,我從boto 項目創建了一個子模塊。 然后,我發現我實際上只需要這個項目的一個子集——特別是boto文件夾。
我想更改我的子模塊以指向此文件夾。 當我查看 .gitmodules 時,我看到
[submodule "backup/src/boto"]
path = backup/src/boto
url = https://github.com/boto/boto.git
我應該使用什么 URL 而不是https://github.com/boto/boto.git ? 我改完URL后,是不是要把本地的boto文件夾刪掉,重新拉取?
恐怕子模塊的 URL 總是只指向存儲庫 - 您不能指定只想要存儲庫的子文件夾,就像 git 通常不支持“窄克隆”一樣。
如果您無法忍受將整個存儲庫作為子模塊,您始終可以創建一個從 boto 克隆的新存儲庫,然后設置一個 cron 作業:
git fetch
將該存儲庫git fetch
到目錄中git filter-branch
更新子目錄位於頂級的分支。您不能只克隆存儲庫的一部分。 這是因為混帳對待庫作為一個整體對象:當你得到它,你會得到這一切。
因此,這里的解決方案是在另一個目錄中獲取子模塊,然后使用符號鏈接來實現您的目標。
您想要做的是在子模塊中創建一個分支並將文件夾向上移動並刪除您不需要的內容。 然后,您可以改為管理該分支。 如果您想推動您的更改,您應該能夠首先返回合並。 Git 會知道您移動了文件並成功進行了合並。
希望這可以幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.