更新我的github repo,它是从另一个项目中派生出来的

更新我的github repo,它是从另一个项目中派生出来的,git,github,Git,Github,我已经给孩子出了一张家长卡。现在,我想用父母的最新更新更新我的孩子。我可以这样做吗?如果可以,怎么做 当我更新我的github回购协议时,我可以执行“git pull”来更新我的本地回购协议。您想要: git拉git://github.com/voldemort/voldemort.git在您的本地子级克隆中,从父级提取,如果您愿意,将其添加为远程: cd child git remote add parent <parent-url> git pull parent cd子对象

我已经给孩子出了一张家长卡。现在,我想用父母的最新更新更新我的孩子。我可以这样做吗?如果可以,怎么做

当我更新我的github回购协议时,我可以执行“git pull”来更新我的本地回购协议。

您想要:


git拉git://github.com/voldemort/voldemort.git

在您的本地子级克隆中,从父级提取,如果您愿意,将其添加为远程:

cd child
git remote add parent <parent-url>
git pull parent
cd子对象
git远程添加父级
git拉动父级
父对象的url可以是公共github repo,也可以是它的本地克隆—本地克隆当然会更快。如果您想要拉取父回购的当前头以外的分支,只需添加一个参数(例如,
git-pull-parent-topic-branch
)。如果这是一次性的,您可以跳过添加远程:
git pull[branch]

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

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

  • 如果尚未将repo克隆到本地计算机:
    git Clonegit@github.com:utkarsh2012/voldemort.git
  • 将上游添加为新远程:
    git-remote-Add-upstreamgit://github.com/voldemort/voldemort.git
  • 签出分支后,将上游分支拉入分支,这将在两组更改之间创建一个合并:
    git pull upstream
    git pull upstream branch to merge
    。如果您正在处理未推送的分支,您还可以使用
    git fetch
    git rebase
    来重新设置工作的基础,而无需合并

  • 这也可以简单地在GitHub的web界面上完成:发出拉取请求,但交换基本回购头回购。如果pull可以自动执行,那么它将被自动执行。

    因此,通过该命令,我的本地repo将被更新,但是我在github上的子项目呢?我将把它推给我的github孩子?@zengr:
    git pull
    git fetch
    git merge
    的组合。实际上,它将远程存储库中的分支合并到当前分支中。正如您在本地存储库中所做的任何其他工作一样,要将其发送到远程存储库,您需要将其推送到远程存储库。正如其他人所建议的那样,
    git remote add parent
    ,这与您仅使用
    git pull
    的做法有何不同?@zneger:远程存储库是一个命名的远程存储库。它使您不必在每次需要引用时都键入URL;您可以只键入遥控器的名称。它还自动化了一些常见的任务,如设置远程分支。这是一种倒退——你在本地repo中完成工作,然后进行git推送以更新远程。是的,我理解这一点,但我需要将原始项目中的一些更改合并到我的工作副本中。这就是为什么我需要用原始项目的更新更新我的本地回购协议,同时保持本地代码更改的完整性。这正是我们都解释过的方法。我只是指出,您没有“更新github repo,然后…拉来更新您的本地repo”-您更新本地repo,然后推到github repo。我收到一个错误
    ,您要求从远程“源”拉来,但没有指定分支。因为这不是当前分支的默认远程配置,所以当我执行git pull parent时,必须在命令行上指定分支。您可以使用
    git pull parent master
    快速查看它。如果您直接在主分支中工作,或者只有一个分支,或者不知道分支是什么,只想快速合并,那么这就是一个解决方案。一种新的bee解决方案,或者若你们只是一个快速的解决方案来引入一个小的改变。警告若你们这样做,它会在你们的分叉项目中添加一个提交。因此,您在父项目之前完成了一次提交。@thSoft如何“交换”,我看不到选项,也无法选择手动交换:/@HrvojeKusulja很遗憾,您只能手动执行此操作。