我克隆了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
有人可以建议吗?
答案 0 :(得分:3)
将文件名添加到diff命令:
git diff 9f00d9776bc5beb92e8bfc884a7e96ddc5589e2e \
6e601a53566d84e1ffd25e7b6fe0b6894ffd79c0 -- net/core/sock_diag.c
如果您对提交之间的更改感兴趣,可以使用git log -p
(或--patch
):
git log -p net/core/sock_diag.c