我们已使用alm合并请求对一个文件进行了更改。一个月后,我们注意到我们的更改丢失了。
我们曾尝试查看该文件的日志,但也看不到我们的更改。
但是,当我们看到提交ID为2e02e42d6b5094809295d375150d13238318968d的日志时。我们可以看到我们的更改已正确合并。提交ID的Git日志
git log 2e02e42d6b5094809295d375150d13238318968d
commit 2e02e42d6b5094809295d375150d13238318968d
Merge: 9e108526c5 c75d3cc631
Author: Sreekumar Menon <[email protected]>
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 <[email protected]>
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告诉您它找出导致该问题的提交为止。
在我的情况下,一个功能分支与develop合并,并覆盖了我所做的更改