将一个 git 项目的子目录作为新仓库独立出来

    1. # 删除远程仓库
    2. git remote rm origin
    3. # 独立新仓库
    4. git filter-branch --tag-name-filter cat --prune-empty --subdirectory-filter <name-of-folder> -- --all
    5. # 添加新的远程仓库
    6. git remote add origin <new-git-url>
    7. # 推送到远端
    8. git push -u origin master
    9. # 如果有两个源的分支第一次合并,可能要加 --allow-unrelated-histories
    10. git merge origan/dev --allow-unrelated-histories

    参考: