更新我从另一个项目分出的github repo

时间:2010-11-12 23:05:04

标签: git github

我已将父母:project分给了孩子:this。现在,我想用父母的最新更新来更新我的孩子。如果是的话,我可以这样做吗?

当我更新我的github仓库时,我可以做一个“git pull”来更新我的本地仓库。

4 个答案:

答案 0 :(得分:103)

在您的本地克隆Child中,从Parent中提取,如果您愿意,可以将其添加为远程:

cd child
git remote add parent <parent-url>
git pull parent

父级的url可以是公共github repo,也可以是你的本地克隆 - 本地克隆当然会更快。如果要拉除父repo的当前HEAD以外的分支,只需添加一个参数(例如git pull parent topic-branch)。如果这是一次性的事情,您可以跳过添加遥控器:git pull <parent-url> [branch]

拉取是抓取和合并的组合,所以一旦你完成了,你就会有一个新的合并提交,你可能会想要在某个时候回到你的公共回购。

这里的关键点,如果不清楚的话,从父(上游)存储库中提取与从您的当前存储库中的子公共克隆中提取并没有什么不同。无论哪种方式,您都从具有一些常见历史记录的存储库中获取,并将其合并到当前分支中。当然,既然你正在合并,那么就需要一个工作树 - 所以这必须在你的本地仓库中完成。在github上托管的repo本质上是一种发布你在本地完成的东西的方式。所有你真正能做到的就是推/拉,并浏览那里的东西。

答案 1 :(得分:16)

  1. 如果您还没有:git clone git@github.com:utkarsh2012/voldemort.git
  2. ,请将您的回购克隆克隆到本地计算机
  3. 将上游添加为新远程:git remote add upstream git://github.com/voldemort/voldemort.git
  4. 检查分支后,将上游拉入分支,这将在两组更改之间创建合并:git pull upstreamgit pull upstream branch-to-merge。如果您正在处理未经推送的分支机构,您还可以使用git fetchgit rebase来修改您的工作而无需合并。

答案 2 :(得分:13)

你想:

git pull git://github.com/voldemort/voldemort.git

答案 3 :(得分:3)

这也可以在GitHub的网络界面上完成:发出拉取请求,但交换基础仓库头部仓库。如果拉动可以自动执行,那就是。