簡體   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