繁体   English   中英

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

[英]Pushing files from one Git repository to another

我有2个基本相同结构的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到B期间对A做出的提交?

我认为,最可靠的方法是自己转移实际的提交。 使用git format-patchA提取不在B上的提交,反之亦然,并将它们写入.patch文件。

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

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

(你也可以使用git am而不是git apply ,它只是有点不同。)

我们最终做的是:

git rm /B/<files_to_replace> 

cp /A/<necessary_files> /B/

git add ...

这可能不是正确的方法,但我们有点匆忙,它现在将完成工作。 谢谢您的帮助! :)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM