VSCode上的Git使用手记(持续更新ing...)

2023-05-16

诸神缄默不语-个人CSDN博文目录

本笔记是我想要学习如何将本地文件发布到GitHub上时开始看廖雪峰的Git教程,然后打开了VSCode,发现VSCode上面集成的Git辅助使用功能真的很好用……
基本上到了不用看教程都可以猜懂的地步。
为了整理、规范使用技巧,在经过了一番学习和试验之后,觉得以这样一篇使用手记的形式发布使用技巧相关的博文,以记录和沉淀经验,并帮助更多Git和VSCode初学者少踩坑。
本文参考的教程、文档等内容见本文末尾。


正文:

  1. 注意:VSCode要求本机上已经下载了Git,而且版本必须新于2.0.0(我下载的是2.31.1)
    Windows版本可以通过官网这个网址下载最新版。除了路径我几乎都选的默认选项。

  2. 打开VSCode中版本控制界面Source Control view的位置:点最左边这个图标(或者使用快捷键Ctrl+Shift+G
    在这里插入图片描述

  3. 在commit的时候,如果Git配置中没有设置好username和email的话,会使用本地机器上的信息,详细解释见Git官方文档对这部分的解释(具体细节我还没有研究)。这个的解决方式就是在Git Bash中提前进行设置:
    git config --global user.name "您的用户名"
    git config --global user.email "您的邮箱"

  4. 如果当前文件夹还没有初始化git,可以在Git Bash中使用git init,也可以直接在Source Control view点击这个按钮:在这里插入图片描述
    此外,如果只是单纯想将项目发布到GitHub上,也可以尝试点击这个按钮:(我还没有尝试过,但是看官方提供的视频感觉也很容易,就傻瓜操作。有条件的读者可以看下Source Control Tip 3: Publishing Repos)
    在这里插入图片描述

  5. VSCode中,当前工作文件夹下子文件夹作为Git工作区是可以的,Git工作区之外的文件都不受影响。

  6. Source Control Repositories这个可以勾上
    在这里插入图片描述

  7. 在当前文件夹下做的修改都会体现在Source Control view中。逻辑与Git类似,可以去学一下廖雪峰课程了解一些Git的基础常识。

    1. 文件修改后首先会出现在changes区:
      新增文件,会带个“U”标识
      在这里插入图片描述

    2. 修改文件,会带个“M”标识
      点击文件名可以在右侧工作区显示变化详情(注意这个右侧的编辑栏仍然可以编辑,这是动态比较)在这里插入图片描述

    3. 删除文件,会在文件名上增加下划线,并带个“D”标识在这里插入图片描述

    4. 点击文件名或者其旁边的“Open File”图标都可以打开文件。
      open file图标:
      在这里插入图片描述
      点击“Discard Changes”可以丢弃改动。
      discard changes图标:
      在这里插入图片描述
      点击“Stage Changes”可以将这一改动添加到Staged Changes(类似于用git add将文件添加到缓存区)。
      stage changes图标:
      在这里插入图片描述
      上述两个图标在changes旁边也有,意思就是对changes区中所有的文件作此修改:
      在这里插入图片描述

    5. 保存修改后,文件就转入staged changes区:
      在这里插入图片描述
      在Changes这一字符右侧点击上述两个图标可以对所有工作区变动执行相应功能。
      对Staged Changes区的文件也可以Unstage Changes再放回Changes区(类似于git reset)。

    6. 点击这两个对钩(commit)之一,类似于git commit,可以在弹出的输入框内写注释:
      在这里插入图片描述

    7. 在这个输入框里直接写注释,然后用Ctrl+Enter可以一步完成全部git addgit commit的工作:
      在这里插入图片描述

    8. 可能是由于VSCode和GitHub是一家(有一个共同的母亲微软),所以对GitHub支持非常好……除了上面提到的直接发布到GitHub,也可以点击这个图标:

      在这里插入图片描述
      也是直接发布到GitHub。直接关联你的GitHub账号,然后生成对应文件夹名的项目,还可以选项目是public还是private。然后等待上传即可。由于过程比较傻瓜,我当时几乎没反应过来就做完了,所以没有截图。

    9. 如果要添加别的远程库也可以用这个:
      在这里插入图片描述
      可以自己写。如果已经将VSCode与GitHub账号进行了绑定,点击“Add remote from GitHub”可以直接选自己账号下的文件夹。

    10. pull是把远程代码拉到本地合并(相当于fetch+merge)(如果因网络原因无法直接拉下来,可以在.git中的config文件中将remoteurl中的https改成git,与后文git clone部分的介绍类似,可以起到加速效果)
      fetch是获取远程仓库(就是知道一下远程有什么本地没有的东西)
      push是把本地代码推送到远程仓库

    11. pullpush也可以直接从上图的下拉框里选。在这里插入图片描述
      sync是先push后pull

    12. VSCode还可以设置定时自动fetch。但是我没设。

  8. 可以使用Ctrl+Shift+P调出Command Palette,使用更多语法(如Git: Undo Last Commit等): 在这里插入图片描述

  9. 此外VSCode左下角也有快捷工具栏:
    在这里插入图片描述

  10. 可以在Explorer界面看到文档的时间线:(蓝框打码的是我的用户名)
    在这里插入图片描述
    点击某个commit可以看到与当前文件的对比。
    右键commit可以选择:对比,复制commit id 或 commit message
    在这里插入图片描述

  11. 复制commit id功能可以用于回退版本:git reset --hard (复制的commit id)
    这样就会使对应版本之后的版本全部消失,当前文件回到对应版本

  12. 点击View > Output然后选择Git可以打开Git output window

  13. .gitignore文件保存后就可以生效,Git会忽略其中配置的文件(但是我看了一下好像如果已经上传到版本库(完成commit)了,就没用了。但是我不确定,我以后还准备继续实验能否作此工作),被忽略的文件在explorer中会变灰:
    在这里插入图片描述

  14. 另,仍然建议用命令行进行的Git操作:

    1. git clone
      以我的项目PolarisRisingWar/rgb-experiment: RGB-experiment package, run GNN baseline experiment() function.为例,可以直接找到clone的链接:
      在这里插入图片描述
      点击复制,然后在命令行中cd到想要放置项目的文件,输入 git clone 复制的网址。如果无法下载可以将https改成git。

      Gitee的类似,继续以我的项目cs224w-2021-winter-colab: cs224w(图机器学习)2021冬季课程的colab为例,复制的位置在这里:
      在这里插入图片描述
    2. 用命令行pushgit push 远程仓库名 branch名
    3. 如果因网络原因无法上传(push)项目,可以尝试如下命令行(有时有效):
git config --global --unset http.proxy
git config --global --unset https.proxy

本文参考的教程及文档:

  1. 廖雪峰Git教程
  2. VSCode Git相关内容文档:Using Version Control in VS Code
  3. Git常用命令pull、push、fetch_福尔摩斯est的博客-CSDN博客_git命令pull代码
  4. git fetch 命令 | 菜鸟教程
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

VSCode上的Git使用手记(持续更新ing...) 的相关文章

随机推荐

  • 串口调试助手源程序

    目次 xff1a 1 建立项目 2 在项目中插入MSComm控件 3 利用ClassWizard定义CMSComm类控制变量 4 在对话框中添加控件 5 添加串口事件消息处理函数OnComm 6 打开和设置串口参数 7 发送数据 8 发送十
  • 【统计计算之非均匀分布随机数的生成】

    在学习统计计算这门课中 xff0c 学习到了非常多的算法 xff0c 个人觉得非常有趣 xff0c 希望可以和大家总结分享一下 持续更新中 我们用的课本 xff1a 统计计算 李东风 非均匀分布随机数 1 变换法 变换法主要分为两种 xff
  • Ubuntu 18.04在 VMware中启动时一直停留在Starting Update UTMP about System Runlevel Changes

    环境 Ubuntu 18 04 安装在VMware中 问题 启动时一直停留在Starting Update UTMP about System Runlevel Changes 解决思路 由于本人的虚拟机磁盘空间所剩无几 xff0c 怀疑是
  • linux零碎知识点

    源码包安装的 Apache 默认伪用户 xff1a daemonTCP IP是一个工业标准而非国际标准TCP IP可以用于同一主机上不同进程之间的通信Linux 由 Kernel Shelll 应用程序 组成网络协议三要素 xff1a 语义
  • 算法小知识

    一个数如果恰好等于它的因子之和 xff0c 这个数就称为 完数 例如6 61 1 xff0b 2 xff0b 3 xff0c 再如8的因子和是7 xff08 即1 43 2 43 4 xff09 xff0c 8不是完数回文数是指正序 xff
  • 启动 tomcat ,一直停在com.alibaba.druid.pool.DruidDataSource:init

    启动 tomcat 一直停在com alibaba druid pool DruidDataSource init clean一下就可以了
  • Win10 触摸屏 快捷键操作

    Win10 触摸板 快捷键操作 在 Windows 10 笔记本电脑的触摸板上试用这些手势 xff1a 快捷键 选择项目 xff1a 点击触摸板右键单击效果 xff1a 两根手指点击一次应用滚动 xff1a 将两个手指放在触摸板上 xff0
  • JCE cannot authenticate the provider BC

    JCE cannot authenticate the provider BC 解决办法 xff1a 修改 JAVA HOME jre lib security java security 文件 添加如下内容 security provid
  • Docker命令之:load命令

    作用 xff1a Load span class hljs operator an span image span class hljs built in from span span class hljs operator a span
  • Docker命令之: tag命令

    作用 xff1a span class hljs operator span class hljs keyword Create span a tag TARGET IMAGE that refers span class hljs key
  • installshield中增加BDE组件

    在C Program Files Common Files Borland Shared BDE下面有一个bdeinst cab xff0c 把它解压开后有一个bdeinst dll xff0c 把他打包到你的安装程序 xff0c 然后选择
  • intellij idea 合并分支到主分支,主分支代码同步到某一分支

    将gith或者Gitee上的项目clone到本地 git span class hljs keyword clone span https span class hljs comment xxxx span 打开intellij idea
  • springboot项目 intellij idea 找不到或者无法加载主类

    试了很多种网上的方法 xff0c 例如清除缓存 xff0c 指定module path 重启等都没有起作用 最后发现是 project structure project settings project project compiler
  • Vivado综合running时间太长

    cancel后查看log日志 xff0c 出现警告warnning PID not specified xff0c 解决办法 xff1a 新建一个工程 xff0c 导入原工程源文件 xff0c 重新进行综合 xff0c 就可以了
  • 使用putty和ssh登录时进不去

    我的是win10系统 初步理解ssh是一个协议 xff0c putty是一个使用这个协议连接本地电脑和远程服务器的开源软件 我知道连接ssh有两种方式 xff1a 第一种 xff1a 电脑左下角搜索界面输入 terminal 打开命令行cm
  • 联想win10安全模式进入以及退出

    进入安全模式的办法 xff1a 1 按住shift再点击重启 疑难解答 可进入带命令提示符的安全模式 进去后仅命令行一个窗口 xff0c 关闭后会出现黑屏 xff0c 仅有一个光标 2 桌面运行win 43 r 勾选安全引导 可直接进入安全
  • Linux网络编程之tcpdump抓包分析TCP三次握手过程

    使用TCP协议进行网络通讯时 xff0c 通信的两端首先需要建立起一条连接链路 xff0c 当然这并不表示使用UDP通信不需要 连接链路 xff0c 这里说的连接链路指的是通信协议范畴的东东 xff0c 并不是物理介质或者电磁波信号 xff
  • inceptionv3迁移学习 训练+测试

    迁移学习在实际应用中的意义非常大 xff0c 它可以将之前已学过的知识 xff08 模型参数 xff09 迁移到一项新的任务上 xff0c 使学习效率大大的提高 我们知道 xff0c 要训练一个复杂的深度学习模型 xff0c 成本是十分巨大
  • 60分钟闪击速成PyTorch(Deep Learning with PyTorch: A 60 Minute Blitz)学习笔记

    诸神缄默不语 个人CSDN博文目录 本笔记是我学习 Deep Learning with PyTorch A 60 Minute Blitz 这一PyTorch官方教程后的学习笔记 该教程在官网上更新过 xff0c 因此未来还可能继续更新
  • VSCode上的Git使用手记(持续更新ing...)

    诸神缄默不语 个人CSDN博文目录 本笔记是我想要学习如何将本地文件发布到GitHub上时开始看廖雪峰的Git教程 xff0c 然后打开了VSCode xff0c 发现VSCode上面集成的Git辅助使用功能真的很好用 基本上到了不用看教程