我最近尝试在github上发送PR,但我很快注意到我的PR包含较旧的提交:
这里的问题是我只进行了最后一次提交,因为提到的第一个提交被合并到另一个PR中,第二个是我更新自己的分支。
我询问我如何阻止它,大多数人告诉我使用git rebase alexflipnote/master
。很公平,我试过了,它做得很好。
但是,当我尝试将其推送到我的分支时,它表示无法推送,因为提交历史记录存在冲突。
简化问题:
Now:
A-B-C - - - G
\ /
D-E-F
What it should become:
A-B-C-G
|
G
无论我尝试什么,我似乎无法使github显示This branch is even with AlexFlipnote:master
。即使在我的PR合并之后,它也会以某种方式显示This branch is 3 commits ahead, 1 commit behind AlexFlipnote:master
。我该如何解决这个问题?
答案 0 :(得分:1)
由于remote
历史记录和local
历史记录现已发生分歧,因此您无法在变基后推送到GitHub。
您需要做的只是使用pull
开关进行--rebase
上游更改:
git pull --rebase upstream master
现在,如果你检查你的分支机构,你会发现它一切顺利。
git status
然后使用--force
开关
git push origin master --force