Git 缺少更改

Git changes are missing

我们已经使用 alm 合并请求提交了一个文件的更改。一个月后,我们发现零钱不见了。

我们尝试查看该文件的日志,但在那里也看不到我们的更改。

但是当我们看到 commit id 2e02e42d6b5094809295d375150d13238318968d 的日志时。我们可以看到我们的更改已正确合并。 Git 提交 ID 的日志

 git log 2e02e42d6b5094809295d375150d13238318968d
commit 2e02e42d6b5094809295d375150d13238318968d
Merge: 9e108526c5 c75d3cc631
Author: Sreekumar Menon <sreekumar.menon@oracle.com>
Date:   Wed Feb 19 11:19:43 2020 -0800

    Merge-Request: 12615 from 'users/amit.tiwary/enh30472668' into 'develop'

Git 文件

的日志
 git log -p PrePostScripts.xml
commit 1870c07e6b0af5b63f92001f546a58488ee42979
Author: joshua.kesselman <joshua.kesselman@oracle.com>
Date:   Tue Apr 2 13:04:22 2019 -0700

请告诉我如何检查提交 2e02e42d6b5094809295d375150d13238318968d 发生了什么。

在合并提交中注意这一点:

Merge: 9e108526c5 c75d3cc631

9e108526c5 是合并发生时 develop 分支的 HEAD,而 c75d3cc631 是被合并的分支的 HEAD。通过以下方式开始调查:

git checkout c75d3cc631

并调查存储库的状态。那里应该存在正确的更改。您现在应该开始平分以查看哪个提交删除了更改。要开始平分,请执行以下操作:

git bisect start

由于您当前使用的是 c75d3cc631 并且存在更改,因此将其标记为良好:

git bisect good

然后切换回 HEAD 并将其标记为错误,因为那里缺少更改:

git checkout develop
git bisect bad

Git 现在将自动签出中间的提交。看看有没有变化。如果没有,执行 git bisect bad 并且 git 将继续。一旦 git 检查了确实存在更改的提交,请执行 git bisect good。继续此过程,直到 git 告诉您它找出了导致问题的提交。

在我的例子中,一个功能分支与开发合并并覆盖了我所做的更改