Git比较另一个提交中的一个文件



我有几个问题:

  1. 我如何在所有过去的提交中找到/搜索特定的文件?比方说,我想在过去的所有提交中找到test.py文件。我不希望它搜索常规信息,如提交消息,作者,日期等。

  2. 一旦我找到这个文件,在上面的步骤1;我如何比较另一个提交中的test.py和任何其他提交中的相同文件?我可以用git diff <commit_id> test.py <commit_id> test.py?

我不是在谈论将工作目录与暂存目录或暂存目录与上次提交进行比较。

ok。所以我知道如何在过去的提交中找到文件。对于下面的结果,我使用git --pretty=oneline card.py

但是,我如何根据这个输出比较文件:

6c40f05c9 (HEAD -> master, origin/master) Added debugger.py and time-your-code.py
fa7219963 Python Generators

评论已经指出了所有正确的步骤,我只是整合成一个读者可以使用的答案:

如果你想比较你的文件card.py和历史版本,你可以使用两步方法:

  1. 检查哪些提交使用git log --pretty=oneline card.py更改了该文件。输出应该类似于:
570cf4c17d6b7a5a2dae7a57739a9ca07987631e Add something
e961dc9c5cef37cc94841fbddfbfa88471a329da Add something else
ab385ef517e9d6ee4ec27b4e8c318aa76bb8dc66 Revise something
a1421b529300a8279db3aec004f27359a4346f3b Revise something else
  1. 使用git diff e961dc9c5cef37cc94841fbddfbfa88471a329da -- card.py
  2. 将现有版本与旧版本进行比较

相关内容

最新更新