我正在为GitHub上的一个项目做贡献。
我做了以下事情:
经过很多天,我得到了一些评论,我还要做一些更改。
但是从那以后他们的代码发生了很大的变化。如果我必须再次发出拉取请求,我必须用他们更新的代码更新我的新分支并合并我的更改。
我该怎么做?
修改:
在此之前,我的git log
看起来像这样:
提交“功能已完成”(最新,我想推送的内容)
提交B“功能仍然表现得很奇怪”
我完全按照VonC的建议做了(除了我在fetch
编辑时我在我的功能分支中。)
我的rebase
有冲突。
当我尝试解决它们时,我很惊讶地发现它在上游主服务器上重定位提交B
而不是A
。我已多次检查过这些内容:git log
显示我所展示的内容。
为什么在上游主数据库中重新定位我的之前的提交?
修改:
我通过将我的2个提交A
和B
压缩成一个来解决上述问题。
不知道为什么会发生......
答案 0 :(得分:2)
你需要:
将原始仓库添加为新远程:
git remote add upstream https://github.com/user/repo
从“上游”获取
git fetch upstream
在上游/主人
之上重新绞尽脑汁git checkout yourBranch
git rebase upstream/master
强行推送到您的前叉:将自动更新您的请求:
git push --force origin yourBranch