我有一个提交我的网站:
commit 7745ace83eff751025526b7a998406e5b5d1873d
Merge: 9e79649 09e570a
Date: Thu Feb 19 17:07:03 2015 -0300
Merge branch 'desarrollo' of git+ssh://192.168.1.200/home/git/project into dev
commit 9e79649a64ef9925655167a8e237d5fd36fad51e
Date: Thu Feb 19 17:06:24 2015 -0300
Comment. Blah... Blah...
dir/file.inc | 1 +
db/file2.sql | 327 ++++++-----------------------------------
file3.php | 7 +-
file4.php | 1 +
admin/file5.php | 8 +
admin/file6.php | 6 +-
admin/file7.php | 12 +-
7 files changed, 78 insertions(+), 284 deletions(-)
如果更改提交7745ace83eff751025526b7a998406e5b5d1873d,则该网站已损坏。 在提交9e79649a64ef9925655167a8e237d5fd36fad51e中,该网站没有错误。
如何知道提交7745ace83eff751025526b7a998406e5b5d1873d中哪些文件发生了变化?
答案 0 :(得分:5)
通常,只有git show COMMIT-ID
会显示提交COMMIT-ID引入的更改。
但是,此提交是一种特殊情况,因为它是一个合并提交。对于合并提交,git show
仅显示相对于两个祖先提交的的更改(要合并的提交)。因此,如果合并干净地解决(没有冲突),git show MERGE-COMMIT-ID
将不显示任何内容。
对于合并提交,您可以使用git diff
,指定祖先提交和合并提交。在您的情况下,要比较您命名的两个提交:
git diff 9e79649 7745ace8
对于git diff
和git show
,您可以使用参数--stat
仅查看更改摘要 - 这对于快速浏览非常有用。
答案 1 :(得分:3)
您正在查看的提交是合并提交。它不一定有变化"与其他提交的意义相同。它是来自另外两个提交9e79649
&的变化的组合。 09e570a
。
如果9e79649
中没有错误,我还会检查它是否存在于09e570a
(合并的另一个父提交)中,然后再尝试深入研究合并提交。
提交消息是常规合并的默认设置,因此看起来没有任何已解决的冲突。如果存在冲突,git会将它们附加到提交消息(假设未使用-m
选项)并且您将知道要查看哪些文件。