如何将基本仓库中的最新变更合并到分叉仓库

时间:2015-03-17 05:53:25

标签: git github git-merge

2年前我分叉了一个git存储库。在那之后我们对我们的方面做了一些改变,但是我们在许多文件中改变了一些小东西。

现在我们已经分叉了基本git repo中的一些修复+功能。从现在开始,我们希望通过保持局部变化不变来将这些更改包含在我们的分叉变换中。

有没有办法将最新的仓库变更合并到我们的分叉仓库,保持我们的本地变更原样?

2 个答案:

答案 0 :(得分:1)

如果更改被隔离到自己的分支上,那么您只需从上游存储库中提取更改。

git pull

请注意,这相当于git fetch && git merge操作。

如果要将这些新更改包含到特定分支中,则必须通过git merge合并它们。请记住,对于超过两年的代码库更改,您可能会遇到合并冲突。那时,您需要弄清楚从旧API到新API的变化,并确定前进的最佳方式。

答案 1 :(得分:1)

除了Makoto的回答,其中描述了如何git merge从基础仓库分支到分叉分支的更改,您还可以考虑执行git rebase。请考虑以下图表:

base branch: A <- B <- C
your branch: A <- D <- E <- F

如果你git rebase你的分支在基础分支上,那么你的分支最终会看起来像这样:

your branch: A <- B <- C <- D' <- E' <- F'

rebase允许您从基本分支中提取所有更改,同时基本上保持您在分支上的相同提交完整,并按照您在过去两年中所做的相同顺序。当你说“保持我们当地的变化”时,我不知道这是不是你想到的,但这可能符合法案。

你可能也会像在合并时那样遇到合并冲突,所以要为一些乏味的乐趣做好准备。