在 Github GUI 中解决了许多合并冲突后,在本地更改 git 拉取请求

Making changes to git pull request locally, after numerous merge conflicts resolved in Github GUI

我有一个拉取请求,我一直在尝试合并。我第一次提交它时,首先出现了合并冲突,在尝试在本地修复它的过程中,我最终 "dirtying" 完成了 PR,其中包含许多其他人的提交,而不是比最初存在的 1 或 2 个干净地重新定位和压缩的提交。

我关闭了 PR,深入研究了差异并根据较新的上游 master 重新创建了分支和 PR,它已经放置了大约一个星期。与此同时,我在 GITHUB 上解决了两个合并冲突,这样在提交历史中,它是干净的,只显示我最初压缩的提交,以及两个强制推送解决的冲突。

维护者要求我在合并之前做一些简单的更改,但我想避免我第一次弄得一团糟。在他的建议下,我删除了我的 LOCAL 分支,并再次将它从我的 fork 中拉出来,但由于某种原因它显示了一个提交不足,没有解决最新的合并冲突。

老实说我很困惑,我就是想不通我应该怎么做。谁能帮帮我?

这是公关: https://github.com/WikiEducationFoundation/WikiEduDashboard/pull/3481/

这是我的本地分支,选择到我完成所有工作的适当功能分支: https://github.com/chrisnorwood/WikiEduDashboard/tree/feature/convert-alerts-list-to-react-2

我删除了本地分支并使用以下命令将其撤回: git co -b feature/convert-alerts-list-to-react-2 origin/feature/convert-alerts-list-to-react-2

当我 运行 git log 在新拉的分支上时,它显示 51cc7be50... 为最新提交(11 月 15 日),但不是 a029135e42...(11 月 21 日) ) 如 Github.com 所示......很奇怪吗?

我怎样才能得到正确版本的分支,所有相关的提交都在本地,所以当我再次推送到我的叉子时,PR 会更新而不会显示 50 多个其他人的提交????

The maintainer has asked me to make a couple easy changes before merging

然后不需要删除所有内容:在本地 PR 分支上进行更改并推送:它会自动更新 PR,并通知维护者。

但如果您已经 deleted/recloned,请确保获取原始 repo ID:

git remote add upstream https://github.com/WikiEducationFoundation/WikiEduDashboard
git fetch upstream 
git fetch upstream pull/3481/head:feature/convert-alerts-list-to-react-2 
git switch feature/convert-alerts-list-to-react-2
... # work, commits
git push -u origin feature/convert-alerts-list-to-react-2