Git 从另一个仓库 pull

标签 git version-control repository dvcs

我有一个名为 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/

相关文章:

azure - 没有人有权访问 Azure DevOPs 中的存储库

git - 如何在 Gerrit 中识别 "unused"存储库?

git - 是否可以在 .gitconfig 中为每个通配符域配置 user.name 和 user.email?

mysql - 切换分支时如何恢复相同的数据库?

version-control - 哪些源代码控制系统具有文件级权限?

git - 从本地开始的集中式 Git 存储库

gradle - 是否可以将 gradle 存储库限制为特定配置?

git - 为什么git不 pull ?

git - 使用 GitHub 作为托管 Drupal 站点的版本控制工具

ruby-on-rails - 版本控制轨和数据库,从哪里开始?