git log和git whatchanged允许重复提交

时间:2011-12-07 11:58:35

标签: git git-log

git log和git whatchanged显示了2次提交,但两者都添加了相同的行,所以它在哪里删除了所以它再次添加相同的更改?

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

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

commit 914f8e87cb88e2923ed089a579d69cfa21ae0bc4

at_Objects / AtResctrCase.cpp | 2 ++

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

 seller_bid_amount.clear();
 //F 27116
 auction_items.clear();
    +        //F-41959
    +        store_id.clear();

提交6fe48ea09abae01a9bfea37e6ccf8e6c6fb360c2

at_Objects / AtResctrCase.cpp | 2 ++

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

 auction_items.clear();
    //F-39023
    is_acm_case = false;
    +       //F-41959
    +        store_id.clear();

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 log”我在中间发现了一些提交,并检查了这个文件是否在任何提交中被修改过。按照从最近到最旧的顺序。找到删除行的提交。 b4eec3024a18bd502735d88c31891eea646d3356合并:9a74a46 66cc3f1。但是为什么在没有其他提交修改此文件时应该删除它? automerge是否删除了线路?如果在合并提交中删除了此文件,为什么它没有显示出来 “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行。

提交 b4eec3024a18bd502735d88c31891eea646d3356 合并: 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

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

0 个答案:

没有答案