我需要将分支重新绑定到先前的提交。我能够将我的本地改为所需的提交,现在我需要将其推送到遥控器。
我的遥控器(类似于origin/bugfix/bug12345
,我的本地分支是bugfix/bug12345
我已经检查了几个关于强制推送的stackoverflow条目,我读了建议还原而不是rebase,但我绝对需要重新绑定,但我不想搞砸其他任何东西。
我试过了:
git push origin/bugfix/bug12345 bugfix/bug12345
但我收到了这条消息:
fatal: 'origin/bugfix/bug12345' does not appear to be a git repository
fatal: Could not read from remote repository.
我在另一篇文章中读到了:
git push origin master
但是......听起来我正在努力掌握并且我不想推进那个分支!
有人可以建议如何推送到origin / bugfix / bug12345 并且仅限于该特定分支吗?
答案 0 :(得分:2)
命令是
git push origin bugfix/bug12345:bugfix/bug12345
或者如果您已经签出了该分支
git push -f
答案 1 :(得分:1)
您可以结帐到本地bugfix/bug12345
分支,然后强行推送到远程(来源)bugfix/bug12345
。
$ git checkout bugfix/bug12345
$ git push -f origin bugfix/bug12345
或者,如果您的本地分支机构不是bugfix/bug12345
&想要强制推送远程的bugfix/bug12345
分支,然后按照:
$ git branch
# local branch is 'master' or else instead of 'bugfix/bug12345'
$ git push -f origin HEAD:bugfix/bug12345
# push the current branch without thinking about the local name
N.B。: HEAD
是当前签出提交的引用(当前本地分支的最新提交)