如题,以前处理过,长期不用就忘了。
现在的处理方法很 2,删掉 Github 上的 fork 项目,再重新 fork, 然后删除本地的 clone,再重新 clone.
请问各位有何高见?thx
如下,但很久的代码时,会出现许多冲突:
git remote add remote_xx xx_url
git fetch remote_xx
git merge remote_xx/master
Fork 的代码不要在 master 上做修改。
贡献代码直接开新的 branch. 最终 PR 回去就好了。
这样每次都可以:
git co master
git pull upstream master
git co -b new_branch
# send new PR
比较快速的方法是直接cherry pick
老的修改,到 remote_xx 的 master,@Saito 方法也行,不过需要先在你 local 当前 master 开新 branch,然后再rebase
新 branch 到 remote_xx/master,比较麻烦。
这样可以吗?把旧的 master 移走直接拿新的:
git branch -m master old_master
git checkout -b master origin/master
git branch -D old_master
其实 fork 本身就是个 copy, 所以你的删除重新 fork
,还是大家说的保持 master 干净,随时 pull 上游的更新
都是可以的,都不会有太大问题。官方给的是
https://help.github.com/articles/fork-a-repo
其实可以看出你的问题在 merge 上,这里有句话我们都要记住:
如果你在你自己的分支上作了多次修改,历时很长,同时在此期间从未对 upstream 的更新作 fetch + rebase + test + continue
的话,那到最后神也救不了你了。
@happypeter master 是完全 clean 的,当时只是在 github 上 push 到别处的请求,后面时间一长,再 merge 就一堆冲突了。