VS Code & Git 使用 (未完成)
本文旨在讨论在VS Code上面可视化的使用Git,尽量少使用命令


安装配置Git
参考:
Git 本地代码版本控制
设置全局 Git 用户名和邮箱
若是第一次使用 git 的话,请先配置全局的用户名和邮箱(将以下命令用户名邮箱替换)
1 | git config --global user.name "Your Name" |
注意:这一步可不做
因为我使用的多个 github 账号,所以我这里没有配置全局 Git 用户名和邮箱,而是仅在需要的仓库中单独配置Git,所以我的教程全部都是局部的,而不是全局,Git 配置多个 github 账号可参考:Git 配置多个 github 账号 | Z の Blog (fkcz.cc)
初始化本地仓库
-
配置当前仓库用户名和邮箱(本地配置)
创建文件夹,以
test文件夹为例,点击"Open Git Bash here",输入以下命令为当前文件夹配置当前仓库用户名和邮箱(本地配置),如果你没有和我一样采用多账户Git的话,可以省略配置当前仓库用户名和邮箱这一步,直接采用上一步的设置全局 Git 用户名和邮箱即可。
1
2git config --local user.name xxx
git config --local user.email [email protected]查看当前仓库本地配置:
1
2
3
4
5git config user.name //查看当前 Git 仓库的用户名
git config user.email //查看当前 Git 仓库的邮箱
git remote -v //查看当前 Git 仓库的远程仓库信息
git log -1 --format='%an <%ae>' //查看最近提交的提交者信息 -
初始化仓库
git 版本控制是控制 某一个文件夹 下的所有文件。利用 VScode 打开想要控制的文件所在的文件夹(这里以 test 为例),左侧有个源代码管理的插件(没有的在 VScode 扩展中下载即可),打开后点击初始化仓库,完成对 git 仓库的初始化。

git 会在该文件夹下创建
.git的隐藏文件夹,用来存储 git 版本信息初始化仓库之后就可以正常使用,点击左边的文件管理进行文件操作。

文件提交
-
提交到暂存区

点击
+键,即可将文件追踪,暂存文件更改。
同时暂存更改文件的状态,会从U (Untracked) 代表文件是是 未跟踪 的,变成 A (Added),代表文件是 新增 的,但还未提交到本地仓库。如果发现文件有问题,可以点击
-键,然后它又会回到工作区
-
提交到本地仓库

如果未在消息栏填写内容,就点击了提交按键,将会蹦出一个
COMMIT_EDITMSG文件,在文件第一行填写注释内容,快捷键Ctrl+S保存,然后点击右上角提交。
如果发现文件有问题,想要撤回:待。。。
-
VScode文件右侧字母含义:

- A:A 是 Added 的缩写。表示这个文件是新增的,它在本地仓库中不存在,但是已经被添加到暂存区,等待提交。
- U:U 是 Untracked 的缩写。表示这个文件是未跟踪的,它在本地仓库中不存在,也没有被添加到暂存区,需要你手动添加或忽略。
- M:M 是 Modified 的缩写。表示这个文件是被修改的,它在本地仓库中存在,但是已经被修改。
- D:D 是 Deleted 的缩写。表示这个文件是被删除的,它在本地仓库中存在,但是已经被删除。
- 1, M:表示这个文件有一个错误,后面的字母代表该文件的状态。
文件修改
-
当对已上传的文件进行修改过后,修改部分代码会左侧会有颜色提示。


修改完成后就可以将文件提交到暂存区。在消息框输入版本信息,点击提交,即完成了文件的修改,该修改版本将会被 git 记录。
-
查看历史版本
点击顶端
view history按钮,即可看见所有上传的版本(没有可以去扩展安装Git History)。
在Git History界面可以看见所有历史版本信息,左侧有版本名称即为你添加的注释(可以相同)和上传时间,右侧有版本的hash码(不同),是版本的唯一标识符。
点击版本,可以看到该版本相比上一版本进行了哪些操作。如下图,可以看到test 2版本,相比于test 1版本,添加了
测试3.txt、修改了测试1.txt和测试2.txt。
- 点击
view,可以看到该版本的该文件的内容。

- 点击
Workspace,可以看到该版本与 当前工作区该文件内容 的对比。

- 点击
Previous,可以看到该版本与 上一版本该文件内容 的对比。

- 点击
History,可以看到该文件 所有被修改的历史版本。

- 点击
版本对比
点击左侧时间线,可以对比之前提交的版本与当前版本的区别。

版本回退
版本回退分为 硬回退(Hard reset) 和 软回退(Soft reset) 。它们的区别在于它们对工作区、暂存区和版本库的影响不同。

-
软回退(Soft reset)
软回退模式 只会移动HEAD指针,不会修改暂存区和工作区的内容,这意味着你可以撤销最近的提交并保留你的修改 。
在Git History页面中,点击要回退的版本的右侧的Soft按钮,进行版本回退。
提示框提示 “所有受影响的文件将被合并并保存在本地工作区中” ,选择
OK,确定回退。
此时,版本回退到了你选择的版本(即 test 1 版本),但是本地文件仍为回退前的版本(工作区和暂存区为test 2)。
-
硬回退(Hard reset)
硬回退模式 会移动HEAD指针,并重置暂存区和工作区为指定提交的内容,这意味着你可以 完全丢弃某个提交及其后续的所有修改。
在Git History页面中,点击要回退的版本的右侧的Hard按钮,进行版本回退。
提示框提示"这对您当前的工作集是不可逆的。未提交的本地文件将被删除",选择
OK,确定回退。
此时,版本回退到你选择的版本,并且你的本地文件也回退到选择的版本。
硬回退不可逆,建议确定好要回退版本再使用。
版本分支
-
点击右侧
Branch按钮,创建分支。
-
在提升框中写分支的名字,点击
OK,创建分支。
-
切换分支

关于提交文件,与主分支提交相同,在其他分支也是:工作区 —> 暂存区 —> 在消息栏填写版本内容后提交到本地仓库。
-
分支合并
切换到主分支,点击源代码管理的右上角三个点,选择分支-合并,然后在顶部选择要合并的分支。

分支合并成功后,文件会有冲突存在,此时需要对有冲突文件进行编辑。

合并更改有三种方式:
- 采用当前更改:保留你所在的分支的修改,忽略另一个分支的修改。
- 采用传入的更改:保留另一个分支的修改,忽略你所在的分支的修改。
- 保留双方更改:同时保留两个分支的修改,让你自己再次编辑文件,选择最终的修改。
版本合并
版本合并一直都是很困难的,需要一步一步来查看版本的区别,选择合适的合并方式。
可以在 合并编辑器 中查看 当前 文件内容、传入 文件内容,以及合并后的 结果 ,并且可以右上角打开 显示基顶部,这样可以看到最原始的版本。


可以选择 接受当前 ,接受传入,或者不做更改,最后选择完成合并。
如果不想进行合并时,可以在顶部输入 >Git: Abort Merge ,选择取消合并。

Git 远程代码控制
上面介绍了 git 在本地的使用,下面介绍结合 github 的 git 的远程控制。
从本地仓库提交到远程仓库
-
创建 Github 账号并与自己电脑上的Git绑定
参考:
注意:因为我使用的多个 github 账号,所以我这里没有进行全局配置,而是仅在需要的仓库中单独配置Git的用户名和邮箱,所以我的教程全部都是局部的,而不是全局
-
新建仓库
其中仓库名称是必须填写的,其他部分可以保持默认,其含义如下。
- Repository name : 仓库名称(输入名字,最好不要使用中文)
- Description (可选) : 仓库描述介绍,可以不填
- Public, Private : 仓库权限,Public 表示仓库内容对所有人可见,Private 可选指定用户可见。
- Add a README file : 添加一个
README.md文件,用于介绍仓库内容。 - Add .gitignore : 不需要进行版本管理的仓库类型,对应生成文件.gitignore
- Choose a license : 选择证书类型,对应生成文件LICENSE

-
上传文件到github上的远程仓库中
找到远程仓库地址,打开刚刚创建的github仓库,记住这个地址。注意Git有配置多账户的话,得更改一下,比如我的,就要更改为:
[email protected]:xxx/test.git,需要将github.com改为配置Git多账户时的Host部分
然后打开VS Code,将本地仓库链接到远程仓库


可以填写远程存储仓库名称,方便本地引用远程仓库


查看当前仓库配置:
1
2
3
4
5git config user.name //查看当前 Git 仓库的用户名
git config user.email //查看当前 Git 仓库的邮箱
git remote -v //查看当前 Git 仓库的远程仓库信息
git log -1 --format='%an <%ae>' //查看最近提交的提交者信息 -
推送本地仓库文件到远程仓库

第一次推送时,会提示“分支"main"没有远程分支。是否要发布此分支?”,点击确定即可。

在网络通畅的情况下,转圈结束后上传完成,可以在github上对应仓库看到上传的文件了。
注意:每当进行推送项目(push)时,最好先拉取一下云端代码(pull)以保证云端已经更新到最新状态,防止推送项目后造成代码冲突
从GitHub上面直接下载远程仓库
-
下载远程仓库到本地
在你想下载的文件夹下,右键打开
git bash,通过git clone命令,将文件拷贝到本地。1
git clone [email protected]:xxx/xxx.git
注意:如果有进行Git多账户配置,请将
github.com部分改为配置Git多账户时的Host部分
-
将本地项目推送到云端
将修改后的文件推送到github,跟本地版本控制一样,将修改的文件提交到本地仓库中,然后推送到远程仓库。

当你确定只有要推送的文件,没有要拉取的文件时,也可以直接按同步更改。(它会:先拉取远程仓库的最新提交到本地 —> 如果有必要,解决可能产生的冲突 —> 将本地的提交推送到远程仓库)
-
将云端项目拉取到本地
将github上文件拉取到本地

当你确定只有要拉取的文件,没有要推送的文件时,也可以直接按同步更改。
补充
Github上传大文件
.gitignore文件配置
扩展推荐
- gitlens
- Git Graph
- Git History
参考
感谢下面大佬
- 基于 VScode 的 git 详细使用指南【保姆级!建议收藏!】_vscode使用git需要电脑安装git吗-CSDN博客
- 使用VSCode便捷实现Git进阶功能!(包含同一项目配置多个远程Git仓库解决方案) ╰( ´・ω・)つ──☆✿✿✿ 项目协同_vscode 如何配置多个源代码储存库-CSDN博客
- Git工作流和核心原理 | GitHub基本操作 | VS Code里使用Git和关联GitHub_哔哩哔哩_bilibili
- 【VSCode ☆ Git 】代码管理进阶 ➔ Git History 插件_哔哩哔哩_bilibili
- 第一次使用git上传本地项目到远程仓库-----手把手傻瓜教程_git 第一次提交本地仓库到远程-CSDN博客




