我有一个场景发生在一个非常积极开发的Git仓库上,我试图了解它是如何可能的。
情景:
我有功能分支FeatureA
。一行已添加到文件file1.txt
,已提交到此分支并使用提交哈希hash1
推送到原点。随后FeatureA
合并为master
和develop
。
运行git branch -a --contains hash1
列出FeatureA
,develop
和master
作为包含提交的远程和本地分支。
但是,file1.txt
中的develop
中不再包含该行。在git log -- file1.txt
分支内运行develop
显示没有提交的迹象,尽管git报告它包含提交。尝试将FeatureA
合并到develop
只会报告没有新内容可以合并。我无法在任何提交中找到任何被删除行的痕迹。
我希望有人可以了解一下如何做到这一点?
修改
我在开发分支中运行了以下命令:
> git log | grep 8d42290f
提交8d42290fe9458abb1ae4948a3a48bf11888bb69d
> git show 8d42290f
提交8d42290fe9458abb1ae4948a3a48bf11888bb69d
diff --git a / file1.txt b / file1.txt
index d0d0f80..b70238e 100644
--- a / file1.txt
+++ b / file1.txt
[显示添加]
> git branch -a --contains 8d42290f
主
*开发
[省略了其他分支,但它基本上无处不在]
> git log - 。\ file1.txt
提交24db30f63875fc70d1ccde3ceb5557ad84ca2ecb
作者:[略]
日期:[省略]
[省略]
commit 13e2f168f77980bfa481295149c9df34afe0fa53
作者:[略]
日期:[省略]
[省略]
该文件的日志中没有8d42290f的痕迹,也没有提交删除该行。