2016-11-21 100 views
1

我定期分叉和修补他的提交(和推送请求)而不是合并或添加它们的回购商的所有者。当我想与他的repo同步时,git/Github希望合并自补丁提交以来的所有内容,尽管只有这个补丁应该同步。如何同步补丁或重新设计的GIT存储库?

好吧我想我必须指定我的问题。是的,将PULL从上游变更为本地回购没有任何问题,因为我也可以在这里进行重新设定。但是当我想在GitHub(origin)上同步我的fork时,我不知道如何在那里重新提交提交历史记录。当我想推出我的重新发布的历史记录时,git告诉我必须首先从源头拉出,因为基础已经改变(因为我重新绑定了我的Github叉的本地副本)。

所以问题是更可能的,如何同步我的Github分叉与原始基准回购?

回答

1

如果车主改写承诺使用底垫OCH ammend我要说的是,你必须使用摘樱桃或交互式衍合。

樱桃采摘

  1. 结帐新的分支,你要同步到
  2. 樱桃采摘各自己的承诺

互动变基

  1. 开始一个互动香港专业教育学院衍合
  2. 将所有承诺,你是不是作者跳过

编辑,更新问题

为了能够到本地分支推送到自己的回购,你必须使用--force覆盖已更改的旧提交。像这样

git push origin master:master --force 

衍合后或修改提交改变将是完全不同的(即使你不改变任何内容,并与你得到一个完全新的提交哈希提交时间会改变)。因此,您需要“扔掉”您在github回购中的旧提交。

+0

我更新了我的问题,更多关于我的github fork – Asara

+0

已更新的答案包括您的说明 – nimatt