有时,我将github中的第三方项目克隆为项目中的子目录,而不是执行git submodule add <repourl>
,但在做了一些工作之后,我意识到我想让它成为一个子模块。
如何在不丢失更改的情况下标记从未作为子模块提交的现有子目录?
答案 0 :(得分:1)
最简单的方法是:
添加子模块:
git submodule add -- /url/repo
添加您的更改:
cd repo
git checkout abranch
git --work-tree=../repo.renamed add .
git commit -m "add work"
git push -u origin abranch
不要忘记记录该回购的新SHA1:
cd ..
git add repo (# no trailing slash)
git commit -m "record new sha1 for repo"
git push