如何将文件从一个git repo移到另一个(不是克隆),保留历史记录
我们的Git储存库是作为单个SVN怪物储存库的一部分开始的,其中每个项目都有自己的树,如下所示: project1/branches /tags /trunk project2/branches /tags /trunk 显然,使用可以很容易地将文件从一个移动到另一个svn mv。但是在Git中,每个项目都在其自己的存储库中,今天,我被要求将子目录从project2移至project1。我做了这样的事情: $ git clone project2 $ cd project2 $ git filter-branch --subdirectory-filter deeply/buried/java/source/directory/A -- --all $ git remote rm origin # so I don't accidentally overwrite the repo ;-) $ mkdir -p deeply/buried/different/java/source/directory/B $ for f in *.java; do > git mv …