我有一个本地的git仓库,已经使用了几个月。现在这个工作将成为一个更大项目的一部分,这个项目有一个已存在的仓库,所以我想将这个项目的服务器作为远程仓库,并将我的工作推送到该仓库的子目录中。
然而,我担心这样做会把我的本地仓库推送到更大项目的顶层目录:
$ pwd
/home/yotommy/my-local-project
$ git remote add origin git://example.com/gitscn/larger-project.git
$ git push origin master ### goes to top-level directory, not desired!
我尝试指定一个(尚不存在的)子目录:
$ git remote add origin git://example.com/gitscm/larger-project.git/my/sub/dir
$ git push origin master
fatal: '/gitscm/larger-project.git/my/sub/dir' does not appear to be a git repository
我应该先将子目录添加到大型项目存储库中吗?还是有更好的方法?
git subtree
,另一种使用git merge -s subtree
,这两个方法都可以在谷歌上轻易找到 - 还有一种基于低层次的方法,使用git read-tree
和其他管道命令,请参考此链接。 - twalberg