将文件从一个Git存储库推送到另一个Git存储库

将文件从一个Git存储库推送到另一个Git存储库,git,repository,Git,Repository,我有两个基本相同结构的Git存储库,但是存储库B只有存储库A的部分内容 存储库A有更新的提交,我需要将其推送到B(但只有必要的文件) 到目前为止,我已经将存储库克隆到本地工作站。我应该如何用存储库A中的文件替换存储库B中的必要文件 我天真的尝试是git mv/A/source/*/B/source/,结果是: fatal: /B/source/: '/B/source/' is outside repository 因为我是git的新手,所以我不能100%确定我应该努力实现什么。我将尝试解释一

我有两个基本相同结构的Git存储库,但是存储库B只有存储库A的部分内容

存储库A有更新的提交,我需要将其推送到B(但只有必要的文件)

到目前为止,我已经将存储库克隆到本地工作站。我应该如何用存储库A中的文件替换存储库B中的必要文件

我天真的尝试是
git mv/A/source/*/B/source/
,结果是:

fatal: /B/source/: '/B/source/' is outside repository

因为我是git的新手,所以我不能100%确定我应该努力实现什么。我将尝试解释一下上下文:我们在存储库A中进行了积极的开发。存储库B目前是供第三方访问部分内容(他们只需要部分内容)的。存储库A的版本为1.6,B的版本为1.4。因此,我的目标是将必要的新内容推送到B。我想这将是将在1.5和1.6期间提交给A的提交提交到B?

我认为,最可靠的方法是将实际提交本身转移。使用
git-format-patch
A
中拉取不在
B
上的提交,或者从
B
上拉取不在
上的提交,并将其写入
补丁
文件

然后,在另一个repo中,使用
git apply
.patch
文件提交到该repo。如果存在冲突,您将有机会解决它们

这基本上与“cherry picking”提交相同,但是跨存储库而不是跨分支提交


(如果您愿意,也可以使用
git-am
而不是
git-apply
,这只是有点不同。)

我们最终做的是:

git rm /B/<files_to_replace> 

cp /A/<necessary_files> /B/

git add ...
git rm/B/
cp/A//B/
git添加。。。

这可能不是正确的方法,但我们有点匆忙,现在可以完成任务。谢谢你的帮助!:)

你只是想替换这些文件?不重做提交或类似的事情吗?因为我对git还相当陌生,所以我不能100%确定我应该尝试实现什么。我将尝试解释一下上下文:我们在存储库A中进行了积极的开发。存储库B目前是供第三方访问部分内容(他们只需要部分内容)的。存储库A的版本为1.6,B的版本为1.4。因此,我的目标是将新内容推送到B。不确定在这个场景中什么是合适的@thomasstringerThank!将在测试环境中尝试此功能,以供将来参考。