【发布时间】:2014-01-14 14:23:37
【问题描述】:
我有 2 个存储库 A 和 B。
我只想将存储库 A 中的一些文件提取到存储库 B。
有什么办法吗?
【问题讨论】:
我有 2 个存储库 A 和 B。
我只想将存储库 A 中的一些文件提取到存储库 B。
有什么办法吗?
【问题讨论】:
Git 不是面向文件的 SCM。历史记录是基于树的,因此您不能要求 Git 从远程存储库中仅签出单个文件。
但是,如果您使用的是存储库浏览器界面(例如 Github 提供的)或 gitweb,您当然可以从远程存储库下载单个原始文件。
【讨论】:
如果你想处理文件而不是提交,一个选项是在 git 之外进行,即设置
files/project_1 # Includes a .git directory at this level.
files/project_2 # Same here.
你可以的
cp files/project_2/your_spec*.* files/project_1/
然后
cd files/project_1
git add .
git commit -m"msg"
【讨论】:
如果您不介意拉取整个存储库 A(即您不担心由于某种原因节省下载时间),您应该可以拉取到另一个分支:
git pull --no-commit <URI for repository A> master:temp-branch
然后您可以自动合并 temp-branch 或从中挑选提交(如果您真的想合并一些补丁而不是文件,或者如果文件是在一个或多个方便的提交中添加的)。
或者,如果您不想要存储库 A 的历史记录,但将其所有文件保存在某处也可以:
git clone --depth 1 <URI for repository A> somewhere
【讨论】: