Git merge 错误

标签 git gitlab devops

`大家好,

我是 git 新手。我正在做一个项目,并与git彻底交互,今天犯了一个错误。 我以这种方式 merge 了两个分支: 分支_01 >> 分支_02 然后, 分支_02 >> 分支_01

服务器上的事件分支是branch_02

并且丢失了从 2022 年 11 月 5 日到今天的从 Branch_02 开始的所有提交。现在,branch_01 拥有本应位于branch_02 上的全部 23 个提交。

以前: 我以这种方式 merge 了两个分支: 分支_01 >> 分支_02 然后, 分支_02 >> 分支_01 我试过: 分支_01 >> 分支_02

但没有拿回我的提交。 `

最佳答案

git reflog 来救援。它将为您提供分支所发生情况的“后端”。你会得到一个看起来像这样的日志

b5cc58d (HEAD -> main, view-pagination) HEAD@{0}: checkout: moving from typeorm-module to main
2703297 (typeorm-module) HEAD@{1}: commit: WIP some mess
b5cc58d (HEAD -> main, view-pagination) HEAD@{2}: checkout: moving from main to typeorm-module
b5cc58d (HEAD -> main, view-pagination) HEAD@{3}: merge view-pagination: Fast-forward
2e4e719 HEAD@{4}: checkout: moving from view-pagination to main

在该列表中,找到“一切都变得糟糕之前”的那一刻,然后进行硬重置:

git reset --hard HEAD@{4}

在两个分支上。

然后喝杯茶,并按照您最初想要的方式进行 merge 。

关于Git merge 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74790863/

相关文章:

git - 仅为 merge/特定提交消息做作业

javascript - 如何在 Nexus 3 中迁移代理 NPM 存储库?

Azure DevOps - 是否可以在免费套餐中添加服务连接?

c# - 在azure管道中为dotnet应用程序运行开放API生成器命令,无法查询存储库, "Request failed with status code 504"错误

java - 如何将现有的 eclipse java 项目添加到 git

git - git diff 的奇怪输出到 Ubuntu 中的文件

git - 在托管 git 子模块的 docker 中使用 Yarn

git - 如何优雅地停止和启动 TGitCache.exe

gitlab - 在 GitLab 问题说明中添加 Git 提交消息以提交引用链接

jenkins - 如何在 Gitlab Jenkins 中无需提交即可重建