将仓库移至新的分支机构/仓库

时间:2020-08-23 00:45:33

标签: git command-line

我刚刚将正在构建的php项目推送到名为php的远程回购中,然后我意识到我需要将其放入该回购的子目录中。我对git有点陌生,我不知道如何获取本地存储库并将其倒入远程存储库的sub dir中。谁能告诉我我需要做什么?我要合并,移动它还是什么?

2 个答案:

答案 0 :(得分:0)

将现有git项目添加到另一个现有git repo的最佳方法是将其添加为子模块。

cyl_b

先运行git submodule add [URL to Git repo] git submodule init ,再运行git submodule init,初始化存储库的子模块。

转到子模块的目录并签出您想要添加的项目的分支,例如git submodule update

答案 1 :(得分:0)

您可以使用git filter-branchlike so来重写仓库的历史记录:

git filter-branch --tree-filter 'mkdir -p /path/to/tmp; mv * /path/to/tmp; mkdir subdir; mv /path/to/tmp/* subdir/' --tag-name-filter cat --prune-empty -- --all

git filter-repo

git filter-repo --path-rename /:subdir/

然后push -f您重写的master分支。