GitHub 提供了查看原始内容、跟踪特定行的更改以及探索文件内容随时间演变的工具。 这些见解解释了代码的开发过程、当前目的和结构,帮助你更有效地做出贡献。
查看或复制原始文件内容
使用原始视图,可以查看或复制不带任何样式的文件原始内容。
-
在 GitHub 上,导航到存储库的主页面。
-
单击要查看的文件。
-
在文件视图的右上角,单击“原始”。
-
(可选)若要复制原始文件内容,请在文件视图右上角单击 。 若要下载原始文件,请单击“”。
查看文件的逐行修订历史记录
在追溯视图中,可以查看整个文件的逐行修订历史记录。
Tip
在命令行上,还可以使用 git blame
查看文件内各行的修订历史记录。 有关详细信息,请参阅 Git 的 git blame
文档。
-
在 GitHub 上,导航到存储库的主页面。
-
单击以打开您想要查看其行历史记录的文件。
-
在文件内容上方,单击“追溯”。 此视图提供逐行修订历史记录,文件中的代码按提交分隔。 每个提交都会列出作者、提交说明和提交日期。
-
若要在特定提交之前查看文件的版本,请单击 。 或者,若要查看有关特定提交的更多详细信息,请单击提交消息。
-
若要返回到原始代码视图,请在文件内容上方单击“代码”。
- 如果要查看 Markdown 文件,还可以在文件内容上方单击“预览”以返回到应用 Markdown 格式的视图。
忽略追溯视图中的提交
.git-blame-ignore-revs
文件中指定的所有修订(必须位于存储库的根目录中)利用 Git 的 git blame --ignore-revs-file
配置设置从追溯视图中隐藏。 有关详细信息,请参阅 Git 文档中的 git blame --ignore-revs-file
。
-
在存储库的根目录中,创建一个名为
.git-blame-ignore-revs
的文件。 -
在该文件中添加要从追溯视图中排除的提交哈希。 建议按如下所示构建文件(包括评论):
# .git-blame-ignore-revs # Removed semi-colons from the entire codebase a8940f7fbddf7fad9d7d50014d4e8d46baf30592 # Converted all JavaScript to TypeScript 69d029cec8337c616552756310748c4a507bd75a
-
提交并推送更改。
现在,访问追溯视图时,追溯中将不会包含列出的修订。 你会看到“忽略 .git-blame-ignore-revs 中的修订”横幅,表明某些提交可能已隐藏:
当一些提交对代码进行大量更改时,这非常有用。 也可以在本地运行 git blame
时使用该文件:
git blame --ignore-revs-file .git-blame-ignore-revs
还可以配置本地 git,使其始终忽略该文件中的修订:
git config blame.ignoreRevsFile .git-blame-ignore-revs
绕过追溯视图中的 .git-blame-ignore-revs
如果文件的追溯视图显示“忽略 .git-blame-ignore-revs 中的修订”,仍可以绕过 .git-blame-ignore-revs
并查看正常的追溯视图。 在 URL 中,将 ~
追加到 SHA,“忽略 .git-blame-ignore-revs 中的修订”横幅将消失。
使用 Copilot 理解文件
Note
需要 GitHub Copilot 订阅。 有关详细信息,请参阅“什么是 GitHub Copilot?”。
你还可使用 Copilot 询问文件中的特定代码行,帮助你了解代码的工作原理并降低引入新问题的风险。
-
在 GitHub 中,导航到一个存储库并打开一个文件。
-
执行下列操作之一:
-
要询问有关整个文件的问题,请单击文件视图右上角的 Copilot 图标 ()****。
-
询问有关文件中特定行的问题****:
- 单击要询问的第一行的行号,按住 Shift 并单击要选择的最后一行的行号。
- 要询问有关所选行的问题,请单击所选内容右侧的 Copilot 图标 (),然后在 GitHub Copilot Chat 面板中键入你的问题。
- 要提出预定义的问题,请单击 Copilot 图标旁的下拉菜单,然后选择其中一个选项。
-
-
如果单击 Copilot 图标,请在聊天面板底部的“向 Copilot 询问问题”框中键入问题,然后按 Enter。
例如,如果要询问整个文件,可以输入:
Explain this file.
How could I improve this code?
How can I test this script?
如果要询问特定行,则可以输入:
Explain the function at the selected lines.
How could I improve this class?
Add error handling to this code.
Write a unit test for this method.
Copilot 将响应面板中的请求。
-
(可选)单击文本框中的“”以阻止 Copilot 继续其响应。
-
可以通过提出后续问题来继续对话。 例如,可以键入“告诉我更多”以便让 Copilot 对其最后一条评论进行扩展。