本文旨在讨论在VS Code上面可视化的使用Git,尽量少使用命令

liucheng

liucheng1

安装配置Git

参考:

Git 本地代码版本控制

设置全局 Git 用户名和邮箱

若是第一次使用 git 的话,请先配置全局的用户名和邮箱(将以下命令用户名邮箱替换)

1
2
git config --global user.name "Your Name"  
git config --global user.email "[email protected]"

注意:这一步可不做
因为我使用的多个 github 账号,所以我这里没有配置全局 Git 用户名和邮箱,而是仅在需要的仓库中单独配置Git,所以我的教程全部都是局部的,而不是全局,Git 配置多个 github 账号可参考:Git 配置多个 github 账号 | Z の Blog (fkcz.cc)

初始化本地仓库

  1. 配置当前仓库用户名和邮箱(本地配置)

    创建文件夹,以test文件夹为例,点击"Open Git Bash here",输入以下命令为当前文件夹配置当前仓库用户名和邮箱(本地配置),如果你没有和我一样采用多账户Git的话,可以省略 配置当前仓库用户名和邮箱 这一步,直接采用上一步的 设置全局 Git 用户名和邮箱 即可。

    VS Code & Git 使用-0

    1
    2
    git config --local user.name xxx  
    git config --local user.email [email protected]

    查看当前仓库本地配置:

    1
    2
    3
    4
    5
    git config user.name     //查看当前 Git 仓库的用户名  
    git config user.email //查看当前 Git 仓库的邮箱

    git remote -v //查看当前 Git 仓库的远程仓库信息
    git log -1 --format='%an <%ae>' //查看最近提交的提交者信息
  2. 初始化仓库

    git 版本控制是控制 某一个文件夹 下的所有文件。利用 VScode 打开想要控制的文件所在的文件夹(这里以 test 为例),左侧有个源代码管理的插件(没有的在 VScode 扩展中下载即可),打开后点击初始化仓库,完成对 git 仓库的初始化。

    VS Code & Git 使用-1

    git 会在该文件夹下创建 .git 的隐藏文件夹,用来存储 git 版本信息

    初始化仓库之后就可以正常使用,点击左边的文件管理进行文件操作。

    VS Code & Git 使用-2

文件提交

  1. 提交到暂存区

    VS Code & Git 使用-3

    点击+键,即可将文件追踪,暂存文件更改。
    同时暂存更改文件的状态,会从U (Untracked) 代表文件是是 未跟踪 的,变成 A (Added),代表文件是 新增 的,但还未提交到本地仓库。

    如果发现文件有问题,可以点击-键,然后它又会回到工作区

    VS Code & Git 使用-4

  2. 提交到本地仓库

    VS Code & Git 使用-5

    如果未在消息栏填写内容,就点击了提交按键,将会蹦出一个 COMMIT_EDITMSG 文件,在文件第一行填写注释内容,快捷键 Ctrl+S保存,然后点击右上角提交。

    VS Code & Git 使用-6

    如果发现文件有问题,想要撤回:待。。。

  3. VScode文件右侧字母含义:

    VS Code & Git 使用-7

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

文件修改

  1. 当对已上传的文件进行修改过后,修改部分代码会左侧会有颜色提示。

    VS Code & Git 使用-8

    VS Code & Git 使用-9

    修改完成后就可以将文件提交到暂存区。在消息框输入版本信息,点击提交,即完成了文件的修改,该修改版本将会被 git 记录。

  2. 查看历史版本

    点击顶端 view history 按钮,即可看见所有上传的版本(没有可以去扩展安装 Git History)。
    Git History 界面可以看见所有历史版本信息,左侧有版本名称即为你添加的注释(可以相同)和上传时间,右侧有版本的hash码(不同),是版本的唯一标识符。

    VS Code & Git 使用-10

    点击版本,可以看到该版本相比上一版本进行了哪些操作。如下图,可以看到test 2版本,相比于test 1版本,添加了 测试3.txt、修改了 测试1.txt和测试2.txt

    VS Code & Git 使用-11

    • 点击 view,可以看到该版本的该文件的内容。

    VS Code & Git 使用-12

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

    VS Code & Git 使用-13

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

    VS Code & Git 使用-14

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

    VS Code & Git 使用-15

版本对比

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

VS Code & Git 使用-16

版本回退

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

VS Code & Git 使用-17

  1. 软回退(Soft reset)

    软回退模式 只会移动HEAD指针,不会修改暂存区和工作区的内容,这意味着你可以撤销最近的提交并保留你的修改
    Git History 页面中,点击要回退的版本的右侧的 Soft 按钮,进行版本回退。

    VS Code & Git 使用-18

    提示框提示 “所有受影响的文件将被合并并保存在本地工作区中” ,选择 OK ,确定回退。

    VS Code & Git 使用-19

    此时,版本回退到了你选择的版本(即 test 1 版本),但是本地文件仍为回退前的版本(工作区和暂存区为test 2)。

  2. 硬回退(Hard reset)

    硬回退模式 会移动HEAD指针,并重置暂存区和工作区为指定提交的内容,这意味着你可以 完全丢弃某个提交及其后续的所有修改
    Git History 页面中,点击要回退的版本的右侧的 Hard 按钮,进行版本回退。

    VS Code & Git 使用-18

    提示框提示"这对您当前的工作集是不可逆的。未提交的本地文件将被删除",选择 OK ,确定回退。

    VS Code & Git 使用-20

    此时,版本回退到你选择的版本,并且你的本地文件也回退到选择的版本。

    硬回退不可逆,建议确定好要回退版本再使用。

版本分支

  1. 点击右侧 Branch 按钮,创建分支。

    VS Code & Git 使用-21

  2. 在提升框中写分支的名字,点击 OK ,创建分支。

    VS Code & Git 使用-22

  3. 切换分支

    VS Code & Git 使用-23

    关于提交文件,与主分支提交相同,在其他分支也是:工作区 —> 暂存区 —> 在消息栏填写版本内容后提交到本地仓库。

  4. 分支合并

    切换到主分支,点击源代码管理的右上角三个点,选择分支-合并,然后在顶部选择要合并的分支。

    VS Code & Git 使用-24

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

    VS Code & Git 使用-25

    合并更改有三种方式:

    • 采用当前更改:保留你所在的分支的修改,忽略另一个分支的修改。
    • 采用传入的更改:保留另一个分支的修改,忽略你所在的分支的修改。
    • 保留双方更改:同时保留两个分支的修改,让你自己再次编辑文件,选择最终的修改。

版本合并

版本合并一直都是很困难的,需要一步一步来查看版本的区别,选择合适的合并方式。
可以在 合并编辑器 中查看 当前 文件内容、传入 文件内容,以及合并后的 结果 ,并且可以右上角打开 显示基顶部,这样可以看到最原始的版本。

VS Code & Git 使用-26

VS Code & Git 使用-27

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

VS Code & Git 使用-28

Git 远程代码控制

上面介绍了 git 在本地的使用,下面介绍结合 github 的 git 的远程控制。

从本地仓库提交到远程仓库

  1. 创建 Github 账号并与自己电脑上的Git绑定

    参考:

    注意:因为我使用的多个 github 账号,所以我这里没有进行全局配置,而是仅在需要的仓库中单独配置Git的用户名和邮箱,所以我的教程全部都是局部的,而不是全局

  2. 新建仓库

    其中仓库名称是必须填写的,其他部分可以保持默认,其含义如下。

    • Repository name : 仓库名称(输入名字,最好不要使用中文)
    • Description (可选) : 仓库描述介绍,可以不填
    • Public, Private : 仓库权限,Public 表示仓库内容对所有人可见,Private 可选指定用户可见。
    • Add a README file : 添加一个README.md 文件,用于介绍仓库内容。
    • Add .gitignore : 不需要进行版本管理的仓库类型,对应生成文件.gitignore
    • Choose a license : 选择证书类型,对应生成文件LICENSE

    VS Code & Git 使用-29

  3. 上传文件到github上的远程仓库中

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

    VS Code & Git 使用-30

    然后打开VS Code,将本地仓库链接到远程仓库

    VS Code & Git 使用-31

    VS Code & Git 使用-32

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

    VS Code & Git 使用-33

    VS Code & Git 使用-34

    查看当前仓库配置:

    1
    2
    3
    4
    5
    git config user.name     //查看当前 Git 仓库的用户名  
    git config user.email //查看当前 Git 仓库的邮箱

    git remote -v //查看当前 Git 仓库的远程仓库信息
    git log -1 --format='%an <%ae>' //查看最近提交的提交者信息
  4. 推送本地仓库文件到远程仓库

    VS Code & Git 使用-35

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

    VS Code & Git 使用-36

    在网络通畅的情况下,转圈结束后上传完成,可以在github上对应仓库看到上传的文件了。
    注意:每当进行推送项目(push)时,最好先拉取一下云端代码(pull)以保证云端已经更新到最新状态,防止推送项目后造成代码冲突

从GitHub上面直接下载远程仓库

  1. 下载远程仓库到本地

    在你想下载的文件夹下,右键打开git bash,通过git clone命令,将文件拷贝到本地。

    1
    git clone [email protected]:xxx/xxx.git

    注意:如果有进行Git多账户配置,请将github.com部分改为配置Git多账户时的Host部分

    VS Code & Git 使用-37

  2. 将本地项目推送到云端

    将修改后的文件推送到github,跟本地版本控制一样,将修改的文件提交到本地仓库中,然后推送到远程仓库。

    VS Code & Git 使用-38

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

  3. 将云端项目拉取到本地

    将github上文件拉取到本地

    VS Code & Git 使用-39

    当你确定只有要拉取的文件,没有要推送的文件时,也可以直接按同步更改。

补充

Github上传大文件

.gitignore文件配置

扩展推荐

  • gitlens
  • Git Graph
  • Git History

参考

感谢下面大佬