git日志和git whatchanged允许重复提交

git日志和git whatchanged允许重复提交,git,git-log,Git,Git Log,git日志和git whatchanged显示了2次提交,但都添加了相同的行,所以在这两次提交之间删除了哪些行,以便再次添加相同的更改 我尝试了下面的命令,当中间没有一个提交显示删除的行时,怎么可能有两个提交添加了相同的两行。如何在这两个提交之间找到此文件发生了什么 git log--stat--follow-p at_Objects/AtResctrCase.cpp diff --git a/at_Objects/AtResctrCase.cpp b/at_Objects/AtResctrCa

git日志和git whatchanged显示了2次提交,但都添加了相同的行,所以在这两次提交之间删除了哪些行,以便再次添加相同的更改

我尝试了下面的命令,当中间没有一个提交显示删除的行时,怎么可能有两个提交添加了相同的两行。如何在这两个提交之间找到此文件发生了什么

git log--stat--follow-p at_Objects/AtResctrCase.cpp

diff --git a/at_Objects/AtResctrCase.cpp b/at_Objects/AtResctrCase.cpp
index 91fe41a..878d184 100644
--- a/at_Objects/AtResctrCase.cpp
+++ b/at_Objects/AtResctrCase.cpp
@@ -32,4 +32,6 @@ void AtResctrCase::clear()
     auction_items.clear();
        //F-39023
        is_acm_case = false;
+        //F-41959
+        store_id.clear();
 }
提交914f8e87cb88e2923ed089a579d69cfa21ae0bc4

at|u Objects/AtResctrCase.cpp|2++

1个文件已更改,2个插入(+),0个删除(-)

提交6fe48ea09abae01a9bfea37e6ccf8e6c6fb360c2

at|u Objects/AtResctrCase.cpp|2++

1个文件已更改,2个插入(+),0个删除(-)

git diff 6fe48ea09abae01a9bfea37e6ccf8e6c6fb360c2^..914f8e87cb88e2923ed089a579d69cfa21ae0bc4--at_Objects/AtResctrCase.cpp

diff --git a/at_Objects/AtResctrCase.cpp b/at_Objects/AtResctrCase.cpp
index 91fe41a..878d184 100644
--- a/at_Objects/AtResctrCase.cpp
+++ b/at_Objects/AtResctrCase.cpp
@@ -32,4 +32,6 @@ void AtResctrCase::clear()
     auction_items.clear();
        //F-39023
        is_acm_case = false;
+        //F-41959
+        store_id.clear();
 }
在执行“git日志”时,我发现中间有一些提交,并检查了该文件是否在任何提交中被修改。按照从最近到最老的顺序。找到删除该行的提交。B4EEC3024A18BD502735D88C31891EAE646D3356合并:9a74a46 66cc3f1。但是,当中间没有其他提交修改此文件时,为什么要删除它?自动合并是否删除了该行?如果该文件在合并提交中被删除,为什么它没有显示在合并提交中 “git log--stat--follow-p at_Objects/AtResctrCase.cpp”或“git diff”。非常感谢您的建议

$ git show -m --name-status 914f8e87cb88e2923ed089a579d69cfa21ae0bc4 | grep AtResctrCase.cpp 
M       at_Objects/AtResctrCase.cpp
$ git show -m --name-status 914f8e87cb88e2923ed089a579d69cfa21ae0bc4:at_Objects/AtResctrCase.cpp | grep F-41959
        //F-41959
在上述提交中,该行被手动重新添加。

$ git show -m --name-status 62a3731fbc1d008342ac72614faaf7fd9e7e312b | grep AtResctrCase.cpp 
$ git show -m --name-status 8a8de0663381f70677d6685d4ae214becd1f4310 | grep AtResctrCase.cpp 

$ git show -m --name-status **b4eec3024a18bd502735d88c31891eea646d3356** | grep AtResctrCase.cpp 
M       at_Objects/AtResctrCase.cpp
$ git show -m --name-status b4eec3024a18bd502735d88c31891eea646d3356:at_Objects/AtResctrCase.cpp | grep F-41959
此处已删除F-41959行。

提交B4EEC3024A18BD502735D88C31891EAE646D3356 合并:9a74a46 66cc3f1

$ git show -m --name-status **9a74a46a47e425e35bc73a532a374ab5e67ec478** | grep AtResctrCase.cpp 
$ git show -m --name-status **66cc3f136c91c2fb7c71915a1dbd4fbf9facf761** | grep AtResctrCase.cpp

$ git show -m --name-status 50b5cfac734f3a4231e60144d6223d68412900b5 | grep AtResctrCase.cpp
M       at_Objects/AtResctrCase.cpp
$ git show -m --name-status 50b5cfac734f3a4231e60144d6223d68412900b5:at_Objects/AtResctrCase.cpp | grep F-41959
        //F-41959

上面的提交是最初添加行的地方

您确定这两行位于代码中完全相同的位置吗?不完全在同一行中,但这两个提交是我执行gitwhatchanged时唯一的提交,我已经更新了之前的行。它不应该显示+符号,即使它被移动到另一行,对吗?我的意思是,你可以在代码中的不同位置多次显示相同的行。问题是:在第一次提交和第二次提交之后,这两个文件真的是相同的吗?你最近做过重新基址/合并吗?我不确定,但从“git日志”中获得了更多信息,看到了更多的提交,但除了删除的合并提交之外,没有一个涉及到这个文件,而且看起来很奇怪。
$ git show -m --name-status **9a74a46a47e425e35bc73a532a374ab5e67ec478** | grep AtResctrCase.cpp 
$ git show -m --name-status **66cc3f136c91c2fb7c71915a1dbd4fbf9facf761** | grep AtResctrCase.cpp

$ git show -m --name-status 50b5cfac734f3a4231e60144d6223d68412900b5 | grep AtResctrCase.cpp
M       at_Objects/AtResctrCase.cpp
$ git show -m --name-status 50b5cfac734f3a4231e60144d6223d68412900b5:at_Objects/AtResctrCase.cpp | grep F-41959
        //F-41959