GitLens或者Git Graph在vscode中对比文件历史变化,并将历史变化同步到当前文件中

有时候我们上周改的代码,现在想反悔把它恢复过来,怎么办???很好,你有这个需求,说明你找对人了,那就是我们需要在vscode中安装这个插件:GitLens或者Git Graph,他们都是非常相似的工具,但是各有千秋,可以根据需要使用不同的插件来开发。

GitLens

GitLens 是强大的Git集成插件,可以帮助我们实时查看Git提交信息,轻松进行代码溯源。

安装GitLens 插件之后在每行代码的末尾,GitLens 都会公开最后一次提交的作者、提交的时间以及其他详细的备注信息。

GitLens提供了可单击的链接,公开了提交详细信息,并允许您从快速选择菜单中进行选择,以比较、导航和进一步探索每个提交。

其实我们这次要做的恢复到之前某次提交的内容,就在这个FILE HISTORY里面,比如我们想要恢复两周之前的某次提交内容,就可以点开这个文件,右键查看 open file history:

跳转到这个文件的变化历史,选中一个提交历史,第二个图标点击一下:

在有变化的区域就会显示颜色变化:

然后点击中间的 -> 就可以将两周前的内容覆盖到当前的文件中。

如果你只是查看两周之前的文件内容是啥,就可以点击第一个图标:

如果在查看两周前做了哪些变化的文件中,想恢复到当前文件中,可以右键点击:

就会很快跳转到比对两次变化的操作中。

Git Graph

Git Graph是一个用于可视化Git分支和提交历史的工具。它以图形的方式展示了Git存储库中的分支组织结构和提交历史。通过查看Git Graph,您可以更好地理解Git存储库的进展和开发工作。

  1. 分支:Git graph中的每一条线代表一个分支。分支是为了在开发过程中独立地开展任务,使得不同功能的代码可以独立开发,方便合并和管理。在Git graph中,分支通常从主分支(例如master)派生出来,然后可以合并回主分支。分支之间可以同时存在多个,并且可以在开发过程中随时创建和删除。

  2. 提交:Git graph中的每个小圆圈代表一个提交,即代码库中一次变更的记录。每个提交都具有唯一的标识符(commit hash),以及与之关联的提交消息,描述了该次变更的内容。通过查看提交历史,可以了解每个版本之间的差异和变更情况。

  3. 合并:在Git graph中,分支的合并以箭头的形式表示,箭头指向合并时目标分支。合并表示将一个分支的变更合并到另一个分支中。通过合并,可以将不同分支上的代码变更合并到主分支上,形成一个统一的项目。合并后的节点在图形中会显示一个合并节点,表示该节点之前的两个分支已经合并。

  4. 冲突:当两个分支上的代码有冲突时,在Git graph中会显示冲突节点。冲突表示同一段代码在不同分支上有不一致的修改,Git无法自动决定如何合并。此时,需要手动解决冲突,并重新提交。

  5. 历史追溯:通过Git graph,可以从整个项目的历史记录中追溯代码的变更情况。可以看到每个提交的详细信息,包括作者、提交时间、变更内容等。通过历史追溯,可以了解项目的发展历程,为排查问题、了解代码背景和进行版本回退等提供便利。

可以快速切换分支:

可以对别文件提交历史和现在的文件区别,并将历史记录添加到现在文件中:

相关推荐
梦幻通灵6 小时前
IDEA通过Contince接入Deepseek
java·ide·intellij-idea
鸡啄米的时光机6 小时前
vscode的一些实用操作
vscode·学习
Aphelios3809 小时前
Linux 下 VIM 编辑器学习记录:从基础到进阶(上)
java·linux·编辑器·vim
灰色人生qwer10 小时前
React + TypeScript+ Vite 配置路径别名和vscode智能路径提示
vscode·react.js·typescript
workflower11 小时前
实例研究:设计一个文档编辑器(24)- 完
java·开发语言·设计模式·编辑器·软件工程·需求分析·软件需求
莲动渔舟11 小时前
赶AI大潮:在VSCode中使用DeepSeek及近百种模型的极简方法
ide·人工智能·vscode·deepseek
咩咩大主教12 小时前
VSCode运行Go程序报错:Unable to process `evaluate`: debuggee is running
开发语言·ide·vscode·golang·编辑器
佛曰我不想说话12 小时前
通过VSCode直接连接使用 GPT的编程助手
ide·vscode·copilot
羊村懒哥15 小时前
VScode内接入deepseek包过程(本地部署版包会)
人工智能·vscode·deepseek