跳转至

VS Code 版本管理

预计阅读时长 : 2 分钟

俗话说的好,最终版永远都是第一版,所以作为一条运营狗,后悔药实乃居家旅行杀人越货必备之良药。

由于巨硬大方阔绰的买下了 Gayhub,大误啊,其实是 Microsoft 砸了75亿美元买下了 Github,所以 VS Code 也得到了原生的 Git 支持,因此只需要使用其中最最基础的功能,也就能为我们打造一个十分好用的后悔药。

提前声明一下,为了便于小白们的使用,本文中就不对具体的技术细节进行讨论和描述,只是提供操作方法满足日常使用的需求。如果有兴趣研究背后的技术逻辑,可以参考后文的操作文档。

首先,让我们看看理想的文档版本管理流程是什么样的

  1. 创建文档并且丰富完成第一版的草稿
  2. 保存第一版的草稿到存储库
  3. 继续修改,完成第二版的草稿
  4. 将第二版的草稿存入储存库
  5. 重复上面的操作,将每一个想要存档的版本都保存下来
  6. 如果有恢复的需求,打开版本对比窗口,从中复制想要的内容修改当前版本
  7. 再次保存新的版本,重复上面的操作直至定版

为了实现上面的工作流程,先让我们打开包含工作文件夹的工作区,在左边栏中选择 源代码管理 ,点击 初始化存储库 ,然后在弹出框中选择相应的文件夹,即可完成 Git 的初始化。

vscode008
vscode008

完成初始化之后,给人最直观的呈现就是在文档的编辑窗口中,左侧的行号旁会根据当前行的状态呈现不同的色条显示。

vscode012
vscode012
  • 绿色:新增的内容
  • 蓝色:修改的内容
  • 红色:删除的内容

只要文档有任何被修改之处,打开左侧边栏里的 源代码管理 ,就可以在 源代码管理 - 更改 栏里面发现有内容变动的文件及其状态。

vscode011
vscode011
  • U:代表从来没有保存过历史版本的文档
  • M:代表有修改还未保存新版本的文档
  • D:代表被删除了的文档

移动鼠标到特定的文件上,在显示的功能按钮上点击,即可以完成对应的操作

  • ①:打开对比界面,查看当前正在编辑的版本和暂存的版本/已保存的版本之间的差异
  • ②:放弃更改,恢复到上一个版本
  • ③:将修改的内容放入暂存区

接下去,我们点击按键③,将文件放入 暂存的更改 区域,这个操作就相当于临时存档。接下去如果没有进一步的修改就继续提交到 存储库 中去正式存档:直接在 消息 输入框中添加说明文字,然后按下 ⌘ + Enter 提交即可。

如果觉得这个临时版本还不够好,那么可以在当前正在编辑的版本上继续修改,直到感觉可以再提交一个临时存档版本的时候,就再次将文件提交到 暂存的更改 区域中,这样就可以直接覆盖上一个临时版本。当然,如果十分不满意这个临时版本,也可以直接把它撤销掉,这样操作也不会对当前正在编辑的版本产生任何影响。

恭喜你!截止到现在已经完成了第一个版本的存储,拥有了自己的第一颗后悔药。接下去我们看看怎么能把这颗后悔药的作用发挥到最大。

回到左侧边栏点击 资源管理器 ,点击任意一个文件,在下方的 时间线 分栏里面,就可以看到该文件按照时间线排列出来的以下可用的版本:

vscode013
vscode013
  • 未提交的更改
  • 暂存的更改
  • 已保存的版本1
  • 已保存的版本2

直接点击版本名称,就打开了对比界面,可以直观的看到两个版本之间的差异,并且可以进行复制黏贴修改当前版本。

vscode014
vscode014

就这么简单!从现在开始,你可以拥有无数颗后悔药了,而且也知道能怎么使用这些后悔药。开始尽情的写下自己想写的文字吧,需要修改多少次就改多少次,所有的努力都不会白费的。

Git 这个好玩意, 使用图形界面解决一些简单的、 基本的问题是 OK 的。 但是想要用的爽, 还是得在终端里面按照标准流程上命令行。

关于 Git 最实用的手把手教程, 还是要看廖雪峰老师的。 顺便打个广告, 廖老师的 Python3 教程也是非常不错的入门教材, 适合零基础的朋友学习。

学习完了以本地操作为主的 Git 教程, 想要把 Git 的作用发挥到最大, 还是得去世界上最大的同性交友网站 Github 上溜达溜达。 实验楼的这个免费教程, 以互动形式让学习者可以进行远程实操练习, 非常值得一试。

另外还有持续产出高质量内容的阮一峰老师的系列教程, 是我见过的所有的教程中逻辑性最清楚的, 非常适合用来做手边书随查随用。

如果希望能做到知其然也知其所以然, 那么下面的深入教程也值得好好研究研究。

FAQ

Git 无法检测到文件名大小写的变化

要让 Git 对文件名的大小写变化敏感,你可以修改 Git 的配置。这通常在大小写不敏感的文件系统上是必要的,比如在 Windows 或者 macOS 中。

git config --global core.ignorecase false