我分叉的仓库的所有者会定期修改并修补他的提交(和推送请求),而不仅仅是合并或添加它们。当我想与他的repo同步时,git / Github希望在修补提交后合并所有内容,尽管只应该同步这个补丁。
好的我想我必须说明我的问题。是的,将上游的更改提取到我的本地仓库是没有问题的,因为我也可以在这里进行改装。但是当我想在GitHub(origin)上同步我的fork时,我也不知道如何在那里重新设置提交历史记录。当我想要推销我的历史时,git告诉我,我必须首先从原点撤出,因为基础已经改变(因为我重新设置了我的Github分叉的本地副本)。
所以问题更有可能,如何将我的Github分支与原始的重新定位的回购同步?
答案 0 :(得分:1)
您无法修改2个存储库:您的分叉存储库与上游存储库。您只需申请merge
。
答案 1 :(得分:1)
如果所有者使用rebase och ammend重写了提交,我会说你必须使用cherry-pick或interactive rebase。
Cherry pick
互动基础
修改,更新问题
为了能够将本地分支推送到您自己的仓库,您必须使用--force
来覆盖已更改的旧提交。像这样
git push origin master:master --force
在rebase或修改之后,更改的提交将完全不同(即使您不更改任何内容,提交时间也会更改,并且您将获得全新的提交哈希)。因此,你需要扔掉"你在github repo中的旧提交。