首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >意外地使用git重基将其他人的提交添加到我的PR中

意外地使用git重基将其他人的提交添加到我的PR中
EN

Stack Overflow用户
提问于 2018-06-10 05:44:27
回答 2查看 5.7K关注 0票数 14

我打算在一个特性上做更多的工作,在编写代码之前我运行了git pull --rebase upstream master。然后运行git push origin feature-branch;这导致了其中一个“快速转发”错误,在其中我运行了git pull origin feature-branch。在此之后,我修复了合并冲突,并再次运行git push origin feature-branch。现在,我从feature-branchmaster的公关被其他人的提交污染了。我注意到以前有人问过这个问题,但从来没有问过answered

有人能解释我做错了什么吗?也许该怎么解决?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-06-10 07:26:42

我想出来了:

在要保存的PR (即提交)中,写下所有提交的git提交散列。

然后运行以下命令:

代码语言:javascript
复制
git fetch upstream
git reset --hard upstream/master
git cherry-pick <hash 1>
git cherry-pick <hash 2>
// cherry-pick all of your commits then:
git push -f origin your-branch

它应该会自动修复你的公关

票数 26
EN

Stack Overflow用户

发布于 2018-06-11 15:34:52

如果您当前的分支有您想要保持(您自己的)与您不想要的提交(由重基添加的提交)混合的提交,您可以使用git rebase --interactive再次编辑您的分支,并且只保留您选择的提交。

首先,在最后一个要编辑的提交之前找到提交的散列。如果您的分支最初是基于master的,那么一个很好的选择是由git merge-base HEAD master返回的。

接下来,启动从当前提交到旧提交的交互式重基:

代码语言:javascript
复制
git rebase --interactive f1c3d284

您的文本编辑器将弹出代表分支中每个提交的行以及下面Git的说明。正如说明所述,对于表示不希望的提交的每一行,请将pick更改为drop。保存和关闭文档时,将根据这些说明重新生成当前分支。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50780902

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档