首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何将文件从一个git仓库移到另一个仓库(而不是克隆)?

如何将文件从一个git仓库移到另一个仓库(而不是克隆)?

提问于 2017-12-26 16:08:35
回答 2关注 0查看 2.4K

我的Git仓库是作为单个SVN仓库的一部分开始的,每个项目都有自己的树,像这样:

代码语言:txt
复制
project1/branches
代码语言:txt
复制
        /tags
代码语言:txt
复制
        /trunk
代码语言:txt
复制
project2/branches
代码语言:txt
复制
        /tags
代码语言:txt
复制
        /trunk

很显然,用一个文件从一个文件移动到另一个文件是很容易的svn mv。然而在Git中,每一个项目都是在自己的仓库,今天有人问我一个子目录从移动project2到project1。我做了这样的事情:

代码语言:txt
复制
代码语言:txt
复制
$ git clone project2 
代码语言:txt
复制
$ cd project2
代码语言:txt
复制
$ git filter-branch --subdirectory-filter deeply/buried/java/source/directory/A -- --all
代码语言:txt
复制
$ git remote rm origin  # so I don't accidentally the repo ;-)
代码语言:txt
复制
$ mkdir -p deeply/buried/different/java/source/directory/B
代码语言:txt
复制
$ for f in *.java; do 
代码语言:txt
复制
>  git mv $f deeply/buried/different/java/source/directory/B
代码语言:txt
复制
>  done
代码语言:txt
复制
$ git commit -m "moved files to new subdirectory"
代码语言:txt
复制
$ cd ..
代码语言:txt
复制
$
代码语言:txt
复制
$ git clone project1
代码语言:txt
复制
$ cd project1
代码语言:txt
复制
$ git remote add p2 ../project2
代码语言:txt
复制
$ git fetch p2
代码语言:txt
复制
$ git branch p2 remotes/p2/maste
代码语言:txt
复制
$ git merge p2 # --allow-unrelated-histories for 

回答

和开发者交流更多问题细节吧,去 写回答
相关文章

相似问题

相关问答用户
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档