将文件从一个Git存储库推送到另一个Git存储库
我有两个基本相同结构的Git存储库,但是存储库B只有存储库A的部分内容 存储库A有更新的提交,我需要将其推送到B(但只有必要的文件) 到目前为止,我已经将存储库克隆到本地工作站。我应该如何用存储库A中的文件替换存储库B中的必要文件 我天真的尝试是将文件从一个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 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!将在测试环境中尝试此功能,以供将来参考。