在回复之后,不要将git推送给主人
我误将我的更改推送到远程主分支。 为了保证安全,我创建了一个backup
分支。 然后,我恢复了对远程主人所做的更改。
在我的本地主分支上,我跑了:
git revert <commit_sha>
接着
git推
我现在已经完成了新分支(备份)的工作,并且它看起来都很好。 但我无法将更改从本地backup
分支推送到远程主服务器。 当我在备份分支上运行git pull
,我所做的更改会丢失。 该代码被替换为远程主机的内容。
有没有办法让我将更改推送到远程主分支而不会丢失我的工作?
UPDATE
由于您已经在本地master
分支上执行了revert
并将其推送到远程,因此您应该在本地master
分支上进行所有新更改并忘记backup
分支。 请记住,您的backup
分支仍包含之前的错误代码。 如果你把它推到你的遥控器上,你会引入你恢复的那些代码。
原始答复
如果您是在该远程存储库上工作的唯一人员,那么您应该可以使用
git push -f <remote> <branch>
强制将新分支推送到远程主分支。
为了帮助理解这个术语,每个git仓库都有一个本地master
分支。 因此,说我把我的改变推到了主人身上......没有道理。 我们要么推送到远程(默认情况下标记为origin
),要么与(本地)主站合并。