我對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
分支?