我与GitHub有一些问题。我在上游的分支上做了几个提交之一。然后,我们创建了一个新分支,我们不希望移动最近的更改,但GitHub也将这些提交复制到新分支。我想重置我的origin分支与上游分支相同,没有新的提交。我尝试了几件事,似乎没有什么能像我需要的那样工作。我试图改变我的原始分支,但现在它要我将其他贡献者的所有提交从我的原点合并到上游分支。所有这些提交都已经在上游了。有没有办法让我完全重置我的原始分支而不影响上游或我其他分支中的任何东西,然后将所有内容从上游拉下来并将其推送到我的原点?
答案 0 :(得分:0)
git checkout new_branch
git reset --hard <SHA of last upstream commit>
答案 1 :(得分:0)
首先你需要像这样中止你的rebase:
git rebase --abort
然后你可以做以下两件事之一:
git checkout upstream -t git://github.com/user/repo
git branch -D master
# I am assuming master is where you made the commits you wish to lose
git branch -m upstream master
或者你可以找到master和upstream之间的最后一个常见提交然后执行
git reset --hard commit_sha
git pull git://github.com/user/repo
如果您计划更新GitHub主分支,则需要使用
git push --force