如果我理解正确的话,无论是在你做出的承诺中还是在其他方面,你都拥有你想要的一切
origin
,然后我会这样做:
首先是git fetch,这样你就有了github上所有东西的本地副本
git fetch
如果你有
gitk
你通常会这样做,你可以看到github上所有分支的图片,就像这样
gitk --all &
但如果我理解正确的话,
git reset --hard # get rid of anything local that is going on
git checkout main # go back to main branch
git reset --hard 33bff44 # move your current files and branch to the new feature
(最后一个命令可能不是必需的,但因为我们知道我们想要的是哪一个承诺,所以它不会有什么坏处。但是如果你想要的话,你可以在这样做之前找出它是否有必要。)
git rev-parse HEAD
。这将告诉您main是否已经在提交中,或者您是否以某种方式更改了它。)
现在我想你应该回到你开始的地方。gitk应该展示这样的东西
common-base --- commit you made on github (origin/main)
\-- commit you made locally (main)
然后我就不会使用
git pull
.我只需要将我的本地分支转换为一个,包含您在github上的所有内容,以及您在本地的提交,如下所示:
git rebase origin/main
现在,如果这是因为没有冲突而起作用,那么您将比github提前一次提交,并且您可以像以前一样推动您的更改