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 告诉您它找出了导致问题的提交。
在我的例子中,一个功能分支与开发合并并覆盖了我所做的更改
我们已经使用 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 告诉您它找出了导致问题的提交。
在我的例子中,一个功能分支与开发合并并覆盖了我所做的更改