【提出问题】
看到很多GitHub仓库引用了别人的仓库,就像做了个软链接一样:
点进去打开之后是另一个的GitHub仓库(可以是别人的 repo)。
【解决方法】
1. 使用 submodule 创建一个名为 TARGET_FOLDER 的文件夹:
git submodule add git://github.com/[USERNAME]/[REPO_NAME].git TARGET_FOLDER
这会克隆一个外部仓库: git://github.com/[USERNAME]/[REPO_NAME].git
到 TARGET_FOLDER,类似 git clone。这同时将自动生成一个.submodules
目录。
2. 提交代码到 GitHub:
git commit -m "UPDATE"
3. 完成!
【注】
Git clone 的时候需要加上--recursive
,否则克隆下来的 TARGET_FOLDER 是空文件夹:
git clone --recursive git://github.com/[YOUR_USERNAME]/[YOUR_REPO_NAME].git
如果没加--recursive
,克隆后只需要初始化子模块即可:
git submodule update --init --recursive
另外,试过 git subtree 没有这种类似软连接的效果。