当你第一次深入成熟的代码库时,你可能感觉自己不像开发人员。你可能更像是考古学家、私人调查员或圣经学者。这很好,因为你有一大堆事情需要处理。
如果你有幸能够从一开始就接触使用版本控制的代码库,那么就该庆祝一下。你可以访问丰富的元数据,这将使你理解的不仅仅是代码,还包括上下文,都会容易很多。我会假设你使用 Git ,但是如果你使用 SVN ,那么这个想法也是同样适用的。
你可以在文件上使用 git blame 来获取每一行的提交名、上次修改日期和提交哈希值。熟悉这些提交者。如果你足够幸运的话,可能只有其中的一些,他们可能还在和你在一起工作,所以你可以把他们当做资源。如果你很不幸,可能有几十个你以前从未听说过的提交者。
无论如何,尝试了解主要贡献者是谁。如果你遇到一个奇怪的功能,并且你不能搞明白,请使用 git blame 找出提交者,找到他或她去询问。
使用 git log 查看整个代码仓库的提交历史记录。此命令将打印提交消息,因此,如果要执行类似搜索提交消息中引用 someFunction 的提交,请勿忘记使用 grep 命令:git log | grep someFunction -C 3(-C 3将显示匹配到的上下文三行内容)。
git log 还可以显示具有 -p 标志的单个文件的历史记录:git log -p index.js。 注意最近一直在修改代码的人,这样你就能知道在出现问题时找谁咨询了。