不幸的是,在使用 subversion 多年之后,我正在尝试使用 git 热身。问题如下:
视觉上看起来像;
原项目:
A->B->C->D->E
我自己的远程分支(x、y、z 是我对还原或删除的 promise ,如果可能的话):
A->X->Y->Z->C->D->E
我希望我的 fork Remote 与原始 Remote 一样。然而,在我尝试恢复(使用 git revert [HASH])之后,我的提交一一并将这些恢复推送到我自己的 Remote ,看来 pull 请求并没有消失。
如果我找不到解决方案,最后一件事是删除我的 fork ,并重新 fork 原来的项目。
在这样做之前有什么建议吗?
最佳答案
假设您在本地存储库中定义了这两个 Remote :
并且您想强制从
origin/somebranch
更新到 remote2/otherbranch
,您可以这样做:# make sure you have up to date branch data locally
git fetch origin
git fetch remote2
# force push to remote2 from origin
git push remote2 origin/somebranch:otherbranch --force
要将本地分支重置为与远程分支相同的状态:
git reset --hard origin/somebranch
关于git 恢复更改并取消 pull 请求,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21563845/