我有一个名为 Generic
的存储库,它是一个通用应用程序。我已将它 fork 到一个名为 Acme
的存储库中,该存储库仅构建在应用程序存储的 Generic
存储库上,并向其中添加了 Acme Co 品牌。
如果我对 Generic
中的核心功能进行更改,我想用我对 中的核心功能所做的最新更改更新
。我该怎么做?Acme
存储库通用
据我所知,我实际上是在尝试将上游存储库中所做的更改 merge 到当前的复刻中。
如果这意味着什么,我正在尝试这样做,因为我有一个通用的应用程序,然后我将在该应用程序的基础上构建并为个人客户打造品牌(如本例中的 Acme
)。如果有更简洁的方法,请告诉我。
最佳答案
在您的 Acme
存储库中发出以下命令。它添加了一个名为 upstream
的新远程存储库,它指向 Generic
存储库。
git remote add upstream https://location/of/generic.git
然后,您可以使用以下命令将对 Generic
所做的任何更改 merge 到 Acme
中的当前分支:
git pull upstream
如果您只是想让它下载更改而不自动 merge ,请使用 git fetch
而不是 git pull
。
如果您想禁用推送到该存储库,请使用类似的东西将推送 URL 设置为无效 URL
git config remote.upstream.pushurl "NEVER GONNA GIVE YOU UP"
如果你试图推送到 upstream
,Git 现在会大喊你找不到 repo(并且对 Rickroll 感到抱歉,但它是第一个突然出现在我脑海中的随机字符串).
关于Git 从另一个仓库 pull ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24815952/