[英]how to reset develop branch to master
我有develop
和master
分支,我的develop
分支現在很亂,我想重置它並將其作為我的master
的副本。 我不確定將master
合並到develop
是否會使它們完全相同。 嘗試合並后,我遇到了很多沖突,我使用以下方法解決了它們:
git checkout develop
git merge origin/master
//got many conflicts
git checkout . --theirs
這足以讓develop
分支成為與master
相同的副本嗎?
謝謝
如果你只是希望它們是一樣的
然后
//from Develop and assuming your master is up to date with origin/master
git reset --hard master
如果你想讓develop
與master
相同,最簡單的方法就是重新創建指針:
git branch -f develop master
或者,如果您已經檢出develop
:
git reset --hard develop master
但是請注意,這兩個選項將擺脫任何歷史的develop
有其不在master
。 如果這不行,您可以通過創建一個反映master
最新狀態的提交來保留它:
git checkout develop
git merge --no-commit master
git checkout --theirs master .
git commit
git reset HEAD~
如果所有其他方法都失敗了,您可以刪除當前分支並直接從master
重新創建它。
git branch -D develop
git checkout master
git checkout -b develop
例如,使staging
分支與develop
相同,可以簡單地重新創建指針:
首先通過運行以下命令確保您的本地開發分支與origin/develop
同步: git checkout develop && git pull origin develop
然后結帳您的目標分支(在這種情況下staging
) git checkout staging
最后但並非最不重要的是重置目標分支git reset --hard develop
通過蠻力推送更改(git 會抱怨,因為本地指針具有不同的地址) git push -f
就這樣吧!
我參加聚會有點晚了,但是,在將我的 dev 分支合並到 master 並推送到服務器后,我執行以下操作:
git fetch
git checkout development
git merge origin/master
git push
dev 分支比 master 分支早一次提交,其他開發者不必擔心 development 分支中的所有提交都被重置。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.