我错误地将我的更改推送到远程主分支。为了保证他们的安全,我创建了一个backup
分支。然后我将我所做的更改恢复为远程主控。
在我的本地主分支上,我跑了:
git revert <commit_sha>
然后
git push
我现在已经完成了新分支(备份)的工作,看起来一切都很好。但是我无法将更改从我的本地backup
分支推送到远程主服务器。当我在备份分支上运行git pull
时,我所做的更改将丢失。代码将替换为远程主服务器的内容。
我有没有办法将我的更改推送到远程主分支而不会丢失我的工作?
答案 0 :(得分:1)
<强>更新强>
由于您已经在本地revert
分支机构上执行了master
并将其推送到您的远程分支机构,因此您应该在本地master
分支机构上进行所有新更改并忘记backup
分支。请注意,您的backup
分支仍包含之前的错误代码。如果您将它推到遥控器上,您将会引入您还原的代码。
原始答案
如果您是only person working on that remote repository,那么您应该可以使用
git push -f <remote> <branch>
强制将新分支推送到远程主分支。
为了帮助解决这个术语,每个git存储库都有一个本地master
分支。因此,说我将我的更改推给了主人...... 没有意义。我们要么推送到远程(默认情况下标记为origin
)或与(本地)主服务器合并。