将一个 git 项目的子目录作为新仓库独立出来
# 删除远程仓库
git remote rm origin
# 独立新仓库
git filter-branch --tag-name-filter cat --prune-empty --subdirectory-filter <name-of-folder> -- --all
# 添加新的远程仓库
git remote add origin <new-git-url>
# 推送到远端
git push -u origin master
# 如果有两个源的分支第一次合并,可能要加 --allow-unrelated-histories
git merge origan/dev --allow-unrelated-histories
参考: