我正在开发分支机构工作,并进行了提交。
然后,我应该做一个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(如果尚未过期),或者将其保存在某个地方。
如果你不觉得这个罚款你可以创建一个本地分支点实际的而犯develop
做之前分支git reset --hard
。在这种情况下,本地备份分支将引用提交,而git gc不会删除它(因为已引用)。例如
git branch backup/develop
git reset --hard HEAD~
如果您现在想:“哦,不,我想回去”。做就是了
git reset --hard backup/develop
否则,删除本地备份分支
git branch -D backup/develop
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句