在Git中从fork父级中提取更改

时间:2012-12-11 20:44:54

标签: git github

如何从Git中的fork的父级中提取更改,特别是在github配置的项目中?

例如,假设我将http://github.com/originaluser/originalproject分叉到http://github.com/myuser/myproject。我不打算将myproject作为永久分支,因为我只想维护一个“dev”分支来测试一些实验性功能,然后最终将它合并回原始项目。

因此,每当提交到originalproject时,我希望能够将它们拉下来并将它们与myproject合并。但是,我还希望能够将更改推送到myproject,但是还没有立即创建一个pull请求,以便将它们合并到originalproject中,直到我的分支完成并经过测试。最好的方法是什么?

编辑:默认情况下,当我为本地开发创建我的github fork的本地checkout / fork,然后推/拉更改时,这些更改只影响我的个人分叉。我从未对原始项目进行任何更改。我该如何解决这个问题?

抱歉任何不正确的git术语。

2 个答案:

答案 0 :(得分:9)

您可以将父存储库(上游)添加为另一个远程分支。像

这样的东西
git remote add upstream ...

然后您可以 git fetch 查看任何更改,然后重新定位/合并......无论如何。

答案 1 :(得分:0)

扩展其他答案,以下是我对tsc-watch进行的拨叉操作的步骤:

git remote add upstream https://github.com/gilamran/tsc-watch.git
git fetch upstream
git merge upstream/master
git push

解释:

  1. 将远程服务器添加为上游
  2. 从上游获取所有更改
  3. 将更改从上游分支合并到我的master分支
  4. 将所有更改推送到github