簡體   English   中英

git如何撤消將倉庫的分支“ master”合並到development分支

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM