为什么 `git blame` 与 GitHub blame 不同?

Jes*_*dge 0 git github

如果我克隆引导程序: git clone https://github.com/twbs/bootstrap

然后做一个 git 责备: git blame js/src/alert.js

看起来每一行最后都被同一个人触动过:

^7ffb61a (Patrick H. Lauke 2017-04-17 00:04:49 +0100   1) import Util from './util'
^7ffb61a (Patrick H. Lauke 2017-04-17 00:04:49 +0100   2)
^7ffb61a (Patrick H. Lauke 2017-04-17 00:04:49 +0100   3)
^7ffb61a (Patrick H. Lauke 2017-04-17 00:04:49 +0100   4) /**
^7ffb61a (Patrick H. Lauke 2017-04-17 00:04:49 +0100   5)  * --------------------------------------------------------------------------
^7ffb61a (Patrick H. Lauke 2017-04-17 00:04:49 +0100   6)  * Bootstrap (v4.0.0-alpha.6): alert.js
^7ffb61a (Patrick H. Lauke 2017-04-17 00:04:49 +0100   7)  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
...
Run Code Online (Sandbox Code Playgroud)

但是如果我查看 GitHub 上的指责视图,我会看到一堆不同的人:https : //github.com/twbs/bootstrap/blame/v4-dev/js/src/alert.js

有什么出入?我使用 git blame 错了吗?

Kat*_*aya 6

只需运行git fetch --unshallow以获得完整版本的存储库即可解决问题。

这是另一个问题的连接答案/sf/answers/1255652261/


Jes*_*dge 5

如果您进行深度有限的克隆,并且最后一次更改发生在最早的修订版本之前,git blame则会显示不正确的结果(我假设它显示的是已知最早提交的人)。