Git,创建一个克隆/分叉,但保留我的项目" origin-parts"从源头更新?

时间:2015-02-17 14:49:07

标签: git clone fork

这可能看起来像一个奇怪的事情......或者我可能不确定我想要实现的正确的热点是什么.. 但基本上我想要做的是复制或分叉项目,然后添加我自己的"层"我克隆/分叉的东西,但我仍然希望能够从克隆/分叉项目中下载最新的更改..

所以让我们举个例子说我在github上找到了一个很棒的项目,那就是开源等等。然后我克隆它并开始在我自己的克隆中扩展该项目,但几周后我克隆的项目发布了一些新的更新..然后我想简单地将更改下拉到我的克隆项目..

这有可能吗? 我知道一种方法是手动添加更改,但这看起来效率不高。

BR, INX

2 个答案:

答案 0 :(得分:2)

你可以为你的git repo安装两个遥控器。以下是使用流行的GitHub存储库的示例。

为一个本地仓库设置两个遥控器

> git clone https://github.com/twbs/bootstrap
> git remote add mine git@github.com:bigfont/my-bootstrap.git
> git remote -v

mine    git@github.com:bigfont/my-bootstrap.git (fetch)
mine    git@github.com:bigfont/my-bootstrap.git (push)
origin  https://github.com/twbs/bootstrap (fetch)
origin  https://github.com/twbs/bootstrap (push)

从原始遥控器拉

> git pull origin master

使用遥控器推/拉

> git pull mine master
> git push mine master

此处的语法为git push <remote> <branch>

简化事情

您还可以通过运行git branch --set-upstream-to mine/master来更改默认的推/拉位置。这样,您可以为您的遥控器运行git pushgit pull,并在从原始遥控器拉出时使用更长的语法。

答案 1 :(得分:1)

是的,有可能。保留原始遥控器并不时获取更改

git fetch <the remote name I gave to the original open-source project>

当有更新时,您可能希望在上游更改之上进行rebase或合并您的分支。

如果您要更改与上游更改的文件相同的文件,它将很快变得混乱。