我对Git相当陌生,自从接受一个新的客户端(这是他们在开始为他们工作之前一直用来管理他们软件的版本控制)以来,在过去的几个月里一直使用它。Git用另一个分支替换master分支 - git merge -s我们的?
我最近合并了一个development
分支和我的本地master
分支,并将master
推送到服务器。我已经在本地开发机器上测试了该网站(用Django/Python编写的网站),然后将其推送到服务器,并且它看起来都工作正常(包括已在development
分支上实施的错误修复)。
但是,在测试推送到服务器后所做的更改后,我发现某些内容已损坏网站的一部分。所以我在服务器上检查了一个旧的commit
,现场版本现在使用那个旧的commit
,这意味着它处于“分离的HEAD”状态,但功能正常。
因此,我的本地master
分支目前是我已推送到服务器(在本地工作,但没有在服务器上)的错误修复的版本,但由于我需要在另一方面该网站,我想恢复到master
的备份,这是我在将development
分支与bug修复合并到master
之前所做的备份,因此我正在从代码的“最近运行”状态进行开发。
我有我的机器上的分支是:
master
(与development
合并到它,它打破了别的东西)
masterBackup
(即master
分支,因为它是合并development
进去之前)
development
(这是在其原有的bug已经修复的分支,但别的东西现在已经损坏)
如此有效,masterBackup
实际上是我现在工作的'主'分支,因为合并development
为master
破了master
。我想再次让我的'主'分支masterBackup
,并且在当前状态下的master
可以被丢弃/删除。我仍然有development
分支,所以可以查看为什么/如何破坏网站并在将其修复到master
之前修复它。
我发现了这个问题How to replace master branch in git, entirely, from another branch?上公认的答案表明,我应该做以下步骤:
git checkout masterBackup
git merge -s ours master
git checkout master
git merge masterBackup
但我无法找到任何明确的解释命令git merge -s ours
做什么...这是绝对如何让我的masterBackup
分支再次成为master
分支?