在Github上,可以通过点击commits查看每一次提交,再点击每次提交的哈希值可以查看相邻两次提交之间修改的地方,图形化显示非常的清晰明了。那如果想查看任意两次提交之间的差别该怎么办呢?
Github没有提供这一功能的按钮,不过可以用以下方法实现:方法一,写了个油猴脚本,可以实现简单的需求;方法二,手动方法,能满足更多需要。
方法一:油猴脚本
看这里!
方法二:手动方法
查看任意两次提交间的修改
查看任意两次提交间的修改的网址为:
https://github.com/{user}/{repository}/compare/{from-tag}...{until-tag}
其中,{user}和{repository}分别为库的用户名和库名,前面这些部分也就是这个库的地址。{from-tag}和{until-tag}分别为要比较的两次提交的哈希值,这两个哈希值可以按以下方法找到。
打开库的网页,点击上方的xxx commits,会显示你所有的提交。

点击你所要比较的两次提交的哈希值旁边的复制按钮,该次提交的哈希值会被复制到剪贴板。

然后将这两个哈希值分别替换上面网址中的{from-tag}和{until-tag}。得到的最终网址打开就能显示这两次提交之间的差别。
这样显示的是全部文件的修改,如果我们只想要定位到某一特定文件怎么弄呢?
查看特定文件的修改
对应网址如下:
https://github.com/{user}/{repository}/compare/{from-tag}...{until-tag}#diff-{file-tag}
也就是在之前网址的基础上加上最后的#diff-{file-tag}部分。这个{file-tag}比较隐蔽,用以下方法找。
打开库的首页,点开你要查看的文件,比如README.md文件,然后点击右边的History。

打开的页面会显示该文件的所有提交记录。我们任意点击某一次提交的哈希值按钮(不是复制哈希值)。

然后注意打开的网页的网址,最后的部分#diff-{file-tag}即包括了我们要找的{file-tag},将其复制到上面的网址中,这样打开的页面就会自动定位到我们指定的文件(有点慢)。
参考
- How can I generate a diff for a single file between two branches in github @ Stack Overflow
本文介绍在GitHub上如何查看任意两次提交间的修改,包括使用油猴脚本简化操作及手动输入特定URL进行精确对比的方法,同时指导如何定位特定文件的修改历史。
780

被折叠的 条评论
为什么被折叠?



