如何同步经过修补或重新设置基础的GIT存储库?
我分出的回购协议的所有者定期对其提交(和推送请求)进行重新调整和修补,而不仅仅是合并或添加它们。当我想与他的repo同步时,git/Github希望合并自补丁提交以来的所有内容,尽管只有这个补丁应该同步 好的,我想我必须说明我的问题。是的,把这些变化从上游拉到我的本地回购中是没有问题的,因为我也可以在这里重新设定基准。但是当我想在GitHub(源代码)上同步我的fork时,我也不知道如何在那里重新设置提交历史的基础。当我想要推送我的重定基址历史记录时,git告诉我必须首先从源代码中提取,因为基础已经改变(因为我重定了Github fork的本地副本的基址)如何同步经过修补或重新设置基础的GIT存储库?,git,github,rebase,Git,Github,Rebase,我分出的回购协议的所有者定期对其提交(和推送请求)进行重新调整和修补,而不仅仅是合并或添加它们。当我想与他的repo同步时,git/Github希望合并自补丁提交以来的所有内容,尽管只有这个补丁应该同步 好的,我想我必须说明我的问题。是的,把这些变化从上游拉到我的本地回购中是没有问题的,因为我也可以在这里重新设定基准。但是当我想在GitHub(源代码)上同步我的fork时,我也不知道如何在那里重新设置提交历史的基础。当我想要推送我的重定基址历史记录时,git告诉我必须首先从源代码中提取,因为基础
因此,问题更可能是,如何将我的Github fork与原始的重定基础回购同步?您不能重定2个存储库的基础:您的重定基础存储库与上游存储库相比。您只能应用
合并
关于更新fork的参考资料:如果所有者使用rebase och ammend重写了提交,我会说您必须使用cherry pick或交互式rebase 樱桃采摘
--force
覆盖已更改的旧提交。像这样
git push origin master:master --force
在重新基址或修改后,更改的提交将完全不同(即使您不更改任何内容,提交时间也将更改,并由此获得一个全新的提交哈希)。因此,您需要“扔掉”github repo中的旧承诺。我更新了我的问题,更多关于我的github Fork更新答案,包括您的澄清