[英]git how to undo Merge branch 'master' of repo into develop branch
我正在開發分支工作,並進行了提交。
然后,我應該進行git pull origin develop
-而是我不小心做了這個git pull origin master
然后,我看到了此消息,將Merge branch 'master' of repo into develop branch
無論如何,我可以撤消此操作嗎?
重置合並提交:
git reset --hard HEAD~
再拉
git pull origin develop
PS:我假設您的develop
分支實際指向合並提交。
編輯
如果執行此操作,我會松開在develop分支中所做的提交嗎? 沒有權利 ?
該提交將不再被引用,但它仍然存在。 Git將保留無法到達的提交一段時間。 默認值為90天。 見git gc
可以設置可選的配置變量gc.reflogExpire,以指示每個分支的reflog中的歷史條目在此存儲庫中應保持多長時間。 設置表示為時間長度,例如90天或3個月。 默認為90天 。
因此,在此期間內,您可以恢復提交,但是您必須知道它的ID。 您可以在引用日志中找到該ID(如果尚未過期),或者將其保存在某個地方。
如果您對此git reset --hard
,則可以在執行git reset --hard
之前創建一個指向您的develop
分支的實際提交的本地分支。 在這種情況下,本地備份分支將引用提交,而git gc不會刪除它(因為已引用)。 例如
git branch backup/develop
git reset --hard HEAD~
如果您現在想:“哦,不,我想回去”。 做就是了
git reset --hard backup/develop
否則,刪除本地備份分支
git branch -D backup/develop
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.