在团队协作开发过程中,很多时候需要知道某行代码最近一次是谁修改的,因为什么原因而修改,我们当然可以选择在团队即时通信群中询问,或者到版本控制系统中查看这个文件的版本提交纪录,但这样通常非常耗时,群里可能过了一天都没人会响应你的提问,而如果这行代码是很久以前修改的,你可能需要查阅到很久以前的一次提交。事实上在 Android Studio 和 Xcode 这两个 IDE 中,默认内置了非常方便的查看代码行提交记录的功能,当然我们假设你们团队代码托管在 Git 上面。
Android Studio 的 Annotate
Android Studio 提供的 Annotate 功能,如下图所示,右键点击代码编辑框左边栏,在弹出的菜单中就能看到 Annotate:
点击 Annotate 按钮,首次使用时会弹出对话框要求你输入这段代码所在的版本控制系统的用户名和密码,输入成功后,会显示出如下图所示的结果,可以看到,谁最后改动了那一行代码一目了然,其中包括代码提交的日期,commit id 和作者名字,将鼠标漂浮在对应的行上面,还会出现这次提交的简介信息:
点击对应的行,还会弹出包含这次提交更详细信息(提交涉及的所有文件)的对话框:
Xcode 的 Show Blame For Line
Xcode 的 Show Blame For Line 功能和 Android Studio 的 Annotate 功能大同小异,同样在代码编辑器中右键点击想要查看提交记录的代码行,在弹出的上下文菜单中就有 Show Blame For Line,如下所示:
点击后,就会弹出这行代码最近一次提交的相关信息,其中包括提交者的用户名,提交的日期和时间,commit id,此次提交涉及到的文件,以及此次提交的描述信息,如下所示:
更进一步,如果这些基本信息还不够的话,我们还有三个选择:
Open in Blame:显示这个文件所有代码行最近一次修改者的简单信息,如下图所示:
Open in Comparision:显示这个文件本地和 Git 上最近一次提交之间的内容对比,如下图所示:
Open in Log:显示这个文件所有的历史提交记录,如下图所示:
上面这三种状态的切换的按钮位于 Xcode 右上角工具栏的Show the Version editor: