0

我在 GitHub 上遇到了一些问题。我在上游分支上的一个分支中做了几次提交。然后,我们创建了一个新分支,我们不希望在其中移动最近的更改,但 GitHub 也将这些提交复制到了新分支。我想将我的原始分支重置为与上游分支相同,而我没有新的提交。我已经尝试了几件事,但似乎没有什么能按我需要的方式工作。我试图重新定位我的原始分支,但现在它希望我将来自其他贡献者的所有提交从我的原始分支合并到上游分支。不过,所有这些提交都已经在上游了。有没有办法让我完全重置我的原始分支而不影响上游或其他分支中的任何内容,然后将所有内容从上游拉下并将其推送到我的原点?

4

2 回答 2

0
git checkout new_branch
git reset --hard <SHA of last upstream commit>
于 2013-05-07T14:53:34.093 回答
0

首先,您需要像这样中止您的变基:

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
于 2013-05-07T14:54:27.097 回答