Git异步分支,想重新推送所有提交

问题描述

我正在做一个项目,以前曾经合并过,但是这个很混乱。

这是我的工作方式:

git branching

这是我的问题,如您所见,红线表示合并包含600多个提交(实际上是我的所有提交)

我尝试了合并和重新设置基准,每次它想要推送600次提交时, 我还使用了 修补程序 中的cherry-pick手动恢复了丢失的提交。

自从我从事这个项目以来已经有一段时间了,也许我错过了一些东西...

编辑1:

这是我尝试合并时发生的情况

merge-fail

编辑2:

这是我的git日志的一部分,develophotfix的最后一次成功合并是0ba9488(请注意,如果我合并到master,则发生相同的问题,而不是{{ 1}})

testing

解决方法

使用help of Prasanna,我发现 Git LFS 是我的问题,然后我挖了 reflog ,发现我已经使用过:

git filter-branch --tree-filter 'rm -rf db/src/scripts/gamedata/gamedata*' HEAD

经过一些搜索,我发现可以Undo git filter-branch

所以,我只需要做:

  • git reset --hard refs/original/refs/heads/master
  • git cherry-pick <commit-id>
  • git push --force

一切正常,谢谢!