1

我已经克隆了 linux 内核 git 存储库:

git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git

我对特定文件的历史感兴趣:

git log net/core/sock_diag.c

我看到几个提交:

commit 8e904550d0fffcda2b18d7ab12750b0c75757e89
Date:   Sat Feb 23 01:13:48 2013 +0000

commit 6e601a53566d84e1ffd25e7b6fe0b6894ffd79c0
Date:   Sat Feb 23 01:13:47 2013 +0000

commit 9f00d9776bc5beb92e8bfc884a7e96ddc5589e2e
Date:   Sat Sep 8 02:53:54 2012 +0000

如何区分此文件的两个特定版本?可以说,我想区分 9 月 8 日和 2 月 23 日的版本我可以使用以下内容,但这给了我整个提交的差异(不仅仅是我的文件)

git diff 9f00d9776bc5beb92e8bfc884a7e96ddc5589e2e 6e601a53566d84e1ffd25e7b6fe0b6894ffd79c0

有人可以建议吗?

4

1 回答 1

3

将文件名添加到您的 diff 命令中:

git diff 9f00d9776bc5beb92e8bfc884a7e96ddc5589e2e \
  6e601a53566d84e1ffd25e7b6fe0b6894ffd79c0 -- net/core/sock_diag.c

如果您对提交之间的更改感兴趣,可以使用git log -p(或--patch):

git log -p net/core/sock_diag.c
于 2013-03-02T14:05:54.167 回答