首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Git:将项目的一部分包含到另一个项目中

Git:将项目的一部分包含到另一个项目中
EN

Stack Overflow用户
提问于 2013-09-20 17:05:10
回答 4查看 3K关注 0票数 8

我有一个相当困难的情况:在一个项目(git repo)中,我有一个文件,而我需要在另一个项目(另一个git repo)中使用它。有没有什么清晰和(尽可能)简单的方法把它放到我的项目中?它看起来像这样:

代码语言:javascript
复制
git-repo-1:
    lib/foo
    lib/ololo

git-repo-2:
    lib/*foo* (from repo-1)
    lib/bar
    lib/baz 

我的问题是: 1.我怎么做? 2.我如何更新文件(包括从git- repo -1)到我的repo (git-repo-2)?

附注:是的,我看过很多关于子树的页面,但是...对我来说还不是很清楚。有什么建议吗?即使是指导;-)我对任何事都会非常感激。

我想要的是:http://git-scm.com/book/en/Git-Tools-Subtree-Merging但是!我只想将"rack“存储库的一部分放入我的项目存储库。

问题是:如何将我需要的文件从一个存储库中拆分出来,并将其合并到另一个存储库?

EN

回答 4

Stack Overflow用户

发布于 2013-10-07 15:33:23

将lib/foo解压到一个名为common的新项目中。

然后在项目1和2中都包含完整的公共项目

票数 2
EN

Stack Overflow用户

发布于 2013-12-13 01:37:34

我认为你在这里有两个独立的问题。第一个问题是如何将一个存储库包含在另一个存储库中(模块或子树特性就是用来实现的)。第二个问题是如何只使用git代码库的一部分。

我不是git专家,但他们中的一些人告诉我,只利用存储库的某些部分是不可能的--因为git的工作方式,其中许多历史和更改都存储为“增量”(因此,只有从一个版本更改到另一个版本的文件部分才存储在较新的版本中……或者类似的东西)。

所以..。我认为你最好的办法是把项目2放在一个完全独立的目录下,然后把你需要的文件从那里拷贝到你的项目1中(或者设置一些symlink / alias这样你就不必复制它们了)。

票数 1
EN

Stack Overflow用户

发布于 2019-06-25 17:13:40

我担心您不能在您的存储库中只包含另一个存储库的一部分。为了解决这个问题,我有一个小脚本,它将我需要的文件的最新版本签出到当前工作目录中。如果您使用的是git archive,您可以从上游获取最新版本:

例如:

代码语言:javascript
复制
git archive --format=tar --remote ssh://git@gitserver:7999/infra/scripts.git HEAD supplier.csv | tar xf -


git add ./supplier.csv ;


git commit -m 'Update suppliers from upstream'
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18912809

复制
相关文章

相似问题

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