在git中重新核心核心仓库

时间:2011-01-06 03:19:00

标签: git

我有一个自定义的CodeIgniter分支,我用它作为几个项目的标准基线。最近,我在这个repo中做了重大改进,我想用它来更新使用它的客户端项目。我似乎无法弄清楚如何将更改引入客户端项目。

所以我有:

Baseline:
A--B--C--D--E

Client cloned @ C
C'--D'--E'

我想从Baseline项目将客户端仓库更新为E.

我已经尝试过rebase,它已经删除了基线项目中没有的文件(视图等),并创建了一堆冲突,这些冲突实际上不需要与默认的HTML5样板文件冲突。我用。

我应该使用rebase的选项吗?有没有不同的方法来接近它?我是否需要一堆.gitignores用于内容目录?

2 个答案:

答案 0 :(得分:1)

您应该开始考虑合并而不是重新定位。

答案 1 :(得分:0)

首先,你应该考虑分支,而不是回购。 fork只是从另一个分支派生的分支。这两个人有一个共同的祖先(一个提交),这就是让你做所有漂亮的git魔术的原因。

如果我理解正确你的情况更像是

(origin/master)
A--B--C--D--E
      \
       \
        \F--G
        (local/master)

并且您希望在D--E中提交your local branch,amirite?

然后您必须git rebase origin/mastergit merge origin/master

以图形方式思考,它会更容易。

是的,关于git的分支模型你绝对应该read some more:)