- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在寻找在某个提交时浏览存储库的功能(查看此次提交时存储库中的所有文件,包括以前提交的文件),而不仅仅是添加、更改或删除的文件通过这次提交。
例如:
67c2a4b
: 添加 .gitignore 和 自述文件 ; 10f91d2
: 重命名 自述文件 至 自述文件 ; 47a5777
: 添加 许可证 . 10f91d2
时存储库的状态(第二个)提交:我应该看到 .gitignore(先前提交所做的更改)并重命名 Readme.md(当前提交) - 像以前一样探索存储库
47a5777
(第三次提交)。
最佳答案
坚持使用 VS Code 获取 Git 历史记录
注意:根据对问题的编辑/更新,下面的 3 个主要解决方案中的每一个都允许直观地选择历史中的特定提交,能够查看哪些文件发生了更改(差异 View )并能够在差异中查看这些文件查看该提交。屏幕截图显示了选定的特定提交和文件列表,还发布了一些差异 View 示例
GitLens
正如您所提到的,GitLens 很好,而且功能非常齐全。它有一个侧边栏窗口,可让您搜索存储库中的所有提交、每个提交中的每个文件、查看特定文件的历史记录甚至文件中的一行。它将 pull 出您想要查看的文件的差异(提交到前一个文件),甚至在代码中最后一次显示内联以及更改该行的人(“blame ”信息)。
下面,在“提前 13 次提交”下是实际提交的嵌套列表。历史中的第二个提交被选中,并且在它下面未嵌套的是提交中的所有文件夹和文件。选择文件时(在本例中为 Blog.tsx
),下面的文件历史记录和行历史记录部分映射到该特定文件。
然而——你在 Git 中所做的任何事情都是如此——挖掘所有可能的功能需要一段时间,你需要了解 Git 的底层基础才能充分利用它。
例如,只需单击提交历史记录中的文件,就会显示该文件与先前提交的差异。例子:
GitLens 将允许您在远程(例如 Github 等)上打开提交,将文件与历史上任何一点的当前 Git“头”进行比较,或者更改比较提交,然后与任何其他提交进行比较。
但是,我发现界面有点难以理解。它没有提供分支和提交的良好视觉布局,这会使您很难浏览并知道您在看什么。所以有一点学习曲线,如果 repo 有任何复杂性,你需要能够在你的脑海中想象所有分支是什么。
也就是说,GitLens 非常精致。
Git 图
Git Graph 是一个很棒的 VS Code 扩展,它似乎是顶级扩展的一个新兴选择。它似乎没有 GitLens 的所有功能(无论如何),但它有很多,关键功能是一个单独的编辑器窗口,它可以直观地绘制出提交的历史记录,允许您单击任何commit 查看元数据,如作者、提交消息等,还查看在该提交中更改的所有文件的列表,提供您可以对它们执行的各种功能(打开、cherrypick 进入工作目录、打开差异等.)
当然,一种选择是在 Git Graph 和 GitLens 之间切换以完成您需要的一切。
在 master 上的最新提交被选中的下方,您可以看到“粉红色”分支已 merge 到 master
在这次提交上。右侧是已更改的文件列表(具有差异的文件),可以单击以在单独的窗口中打开差异 View 以及其他功能。
请注意,Git Graph 当前(2020 年 7 月)没有用于打开它的侧边栏或右键单击选项。您需要转到“ View ”->“命令面板”(或 Windows 中的 ctrl-shift-p)并键入“> Git Graph”以查看可能的命令。选择 Git Graph: View Git Graph (git log)
打开主窗口。
VS Code 之外(独立 Git GUI - Git 扩展)
我知道你在 VS Code 中要求了一些东西,但我会放弃另一种选择,这是我大部分时间的备用选项。它是一个独立的开源程序,Git Extensions .不幸的是,在最新的 v3.x 中,它仅适用于 Windows,但如果您主要使用 Windows,它是一个出色的可视化 Git GUI,可让您处理 99% 所需的所有 git 功能。
它在许多方面结合了 GitLens 和 Git Graph 的所有最佳功能,允许您比较来自任何两次提交的文件, pull 出一个单独的窗口,其中包含特定文件的历史记录(仅显示该文件更改的提交) ,从任何提交中提取任何文件到工作目录等。
下面您会看到与其他工具中的示例相同的 repo,并选择了 master 后面的提交。左下角的“差异”选项卡被选中,它显示自上次提交以来更改的文件。您可以右键单击并访问给定文件的各种辅助功能(例如将其 pull 入工作目录、查看文件历史记录或在 VS Code 等外部差异工具中打开)。选择后(下面的 App.tsx
),右下角会显示文件与先前提交的差异 View 。
注意:您可以将 VS Code 设置为您的底层 Git 差异和 merge 工具,然后如果您使用外部差异工具从 Git 扩展中打开文件(在差异的右键单击上下文菜单上,或在 merge 期间,它将打开它们在 VS Code 中)。
如果你是惩罚的饕餮者 - Git 命令行
最后,您可以学习 git 命令行并以这种方式执行所有操作。有一个很大的学习曲线和大量的内存和查找深奥的标志等,但如果你致力于它并经常使用它,它将成为第二天性。
此外,如果您需要使用 Git 编写脚本/自动化任何内容,您将需要底层命令。现在,也就是说,对于大多数 GUI 工具,有一种方法可以查看它们正在使用哪些命令(Git Extensions 打开一个终端并向您显示命令和响应,您可以决定是否在成功或成功时自动关闭它)例如,保持打开状态)。
说了这么多,都是命令行。您需要将大部分输出完全可视化并将其转换为您的存储库的心智模型。陡峭的学习曲线并且不是很用户友好,特别是对于临时的 git 用户。
命令行的一个优点是它可以在任何可能使用 Git 的地方工作。它也可以直接在你的 VS Code 终端中很好地工作,你甚至可以在 Windows 上使用 Git Bash 作为你的 VS Code 终端。
关于git - VS 代码 : explore commits in chronological order,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63074837/
我尝试理解[c代码 -> 汇编]代码 void node::Check( data & _data1, vector& _data2) { -> push ebp -> mov ebp,esp ->
我需要在当前表单(代码)的上下文中运行文本文件中的代码。其中一项要求是让代码创建新控件并将其添加到当前窗体。 例如,在Form1.cs中: using System.Windows.Forms; ..
我有此 C++ 代码并将其转换为 C# (.net Framework 4) 代码。有没有人给我一些关于 malloc、free 和 sprintf 方法的提示? int monate = ee; d
我的网络服务器代码有问题 #include #include #include #include #include #include #include int
给定以下 html 代码,将列表中的第三个元素(即“美丽”一词)以斜体显示的 CSS 代码是什么?当然,我可以给这个元素一个 id 或一个 class,但 html 代码必须保持不变。谢谢
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 7 年前。
我试图制作一个宏来避免重复代码和注释。 我试过这个: #define GrowOnPage(any Page, any Component) Component.Width := Page.Surfa
我正在尝试将我的旧 C++ 代码“翻译”成头条新闻所暗示的 C# 代码。问题是我是 C# 中的新手,并不是所有的东西都像 C++ 中那样。在 C++ 中这些解决方案运行良好,但在 C# 中只是不能。我
在 Windows 10 上工作,R 语言的格式化程序似乎没有在 Visual Studio Code 中完成它的工作。我试过R support for Visual Studio Code和 R-T
我正在处理一些报告(计数),我必须获取不同参数的计数。非常简单但乏味。 一个参数的示例查询: qCountsEmployee = ( "select count(*) from %s wher
最近几天我尝试从 d00m 调试网络错误。我开始用尽想法/线索,我希望其他 SO 用户拥有可能有用的宝贵经验。我希望能够提供所有相关信息,但我个人无法控制服务器环境。 整个事情始于用户注意到我们应用程
我有一个 app.js 文件,其中包含如下 dojo amd 模式代码: require(["dojo/dom", ..], function(dom){ dom.byId('someId').i
我对“-gencode”语句中的“code=sm_X”选项有点困惑。 一个例子:NVCC 编译器选项有什么作用 -gencode arch=compute_13,code=sm_13 嵌入库中? 只有
我为我的表格使用 X-editable 框架。 但是我有一些问题。 $(document).ready(function() { $('.access').editable({
我一直在通过本教程学习 flask/python http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-wo
我想将 Vim 和 EMACS 用于 CNC、G 代码和 M 代码。 Vim 或 EMACS 是否有任何语法或模式来处理这种类型的代码? 最佳答案 一些快速搜索使我找到了 this vim 和 thi
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 想改进这个问题?更新问题,使其成为 on-topic对于堆栈溢出。 7年前关闭。 Improve this
这个问题在这里已经有了答案: Enabling markdown highlighting in Vim (5 个回答) 6年前关闭。 当我在 Vim 中编辑包含 Markdown 代码的 READM
我正在 Swift3 iOS 中开发视频应用程序。基本上我必须将视频 Assets 和音频与淡入淡出效果合并为一个并将其保存到 iPhone 画廊。为此,我使用以下方法: private func d
pipeline { agent any stages { stage('Build') { steps { e
我是一名优秀的程序员,十分优秀!