Whi*_*key 6 git push github revert
我错误地将更改推送到远程主分支。所以为了保证它们的安全,我创建了一个backup分支。然后我恢复了我对远程主机所做的更改。
在我本地的 master 分支上,我跑了:
git revert <commit_sha>
Run Code Online (Sandbox Code Playgroud)
进而
推
我现在已经完成了新分支(备份)的工作,看起来一切都很好。但是我无法将更改从本地backup分支推送到远程主节点。当我git pull在我的备份分支上运行时,我所做的更改丢失了。代码替换为远程主站的内容。
有没有办法将我的更改推送到远程 master 分支而不会丢失我的工作?
更新
由于您已经revert在本地master分支上执行了 a并将其推送到远程,您应该只在本地master分支上进行所有新更改而忘记backup分支。请记住,您的backup分支仍然包含以前的那些错误代码。如果你把它推到你的遥控器上,你会引入那些你恢复的代码。
原答案
如果您是唯一在该远程存储库上工作的人,那么您应该能够使用
git push -f <remote> <branch>
Run Code Online (Sandbox Code Playgroud)
强制将新分支推送到远程主分支。
为了稍微解释一下术语,每个 git 存储库都有一个本地master分支。因此,说我将更改推送到 master..是没有意义的。我们要么推送到远程(默认情况下标记为origin)要么与(本地) master 合并。