VSCode上的Git使用手记(持续更新ing...)
诸神缄默不语-个人CSDN博文目录
本笔记是我想要学习如何将本地文件发布到GitHub上时开始看廖雪峰的Git教程,然后打开了VSCode,发现VSCode上面集成的Git辅助使用功能真的很好用……
基本上到了不用看教程都可以猜懂的地步。
为了整理、规范使用技巧,在经过了一番学习和试验之后,觉得以这样一篇使用手记的形式发布使用技巧相关的博文,以记录和沉淀经验,并帮助更多Git和VSCode初学者少踩坑。
本文参考的教程、文档等内容见本文末尾。
正文:
注意:VSCode要求本机上已经下载了Git,而且版本必须新于2.0.0(我下载的是2.31.1)
Windows版本可以通过官网这个网址下载最新版。除了路径我几乎都选的默认选项。打开VSCode中版本控制界面Source Control view的位置:点最左边这个图标(或者使用快捷键Ctrl+Shift+G)
在commit的时候,如果Git配置中没有设置好username和email的话,会使用本地机器上的信息,详细解释见Git官方文档对这部分的解释(具体细节我还没有研究)。这个的解决方式就是在Git Bash中提前进行设置:
git config --global user.name "您的用户名"
git config --global user.email "您的邮箱"
如果当前文件夹还没有初始化git,可以在Git Bash中使用
git init
,也可以直接在Source Control view点击这个按钮:
此外,如果只是单纯想将项目发布到GitHub上,也可以尝试点击这个按钮:(我还没有尝试过,但是看官方提供的视频感觉也很容易,就傻瓜操作。有条件的读者可以看下Source Control Tip 3: Publishing Repos)
VSCode中,当前工作文件夹下子文件夹作为Git工作区是可以的,Git工作区之外的文件都不受影响。
Source Control Repositories这个可以勾上
在当前文件夹下做的修改都会体现在Source Control view中。逻辑与Git类似,可以去学一下廖雪峰课程了解一些Git的基础常识。
文件修改后首先会出现在changes区:
新增文件,会带个“U”标识
修改文件,会带个“M”标识
点击文件名可以在右侧工作区显示变化详情(注意这个右侧的编辑栏仍然可以编辑,这是动态比较)删除文件,会在文件名上增加下划线,并带个“D”标识
点击文件名或者其旁边的“Open File”图标都可以打开文件。
open file图标:
点击“Discard Changes”可以丢弃改动。
discard changes图标:
点击“Stage Changes”可以将这一改动添加到Staged Changes(类似于用git add
将文件添加到缓存区)。
stage changes图标:
上述两个图标在changes旁边也有,意思就是对changes区中所有的文件作此修改:
保存修改后,文件就转入staged changes区:
在Changes这一字符右侧点击上述两个图标可以对所有工作区变动执行相应功能。
对Staged Changes区的文件也可以Unstage Changes再放回Changes区(类似于git reset
)。点击这两个对钩(commit)之一,类似于
git commit
,可以在弹出的输入框内写注释:
在这个输入框里直接写注释,然后用Ctrl+Enter可以一步完成全部
git add
和git commit
的工作:
可能是由于VSCode和GitHub是一家(有一个共同的母亲微软),所以对GitHub支持非常好……除了上面提到的直接发布到GitHub,也可以点击这个图标:
也是直接发布到GitHub。直接关联你的GitHub账号,然后生成对应文件夹名的项目,还可以选项目是public还是private。然后等待上传即可。由于过程比较傻瓜,我当时几乎没反应过来就做完了,所以没有截图。如果要添加别的远程库也可以用这个:
可以自己写。如果已经将VSCode与GitHub账号进行了绑定,点击“Add remote from GitHub”可以直接选自己账号下的文件夹。pull
是把远程代码拉到本地合并(相当于fetch
+merge
)(如果因网络原因无法直接拉下来,可以在.git
中的config
文件中将remote
url中的https
改成git
,与后文git clone部分的介绍类似,可以起到加速效果)
fetch
是获取远程仓库(就是知道一下远程有什么本地没有的东西)
push
是把本地代码推送到远程仓库pull
和push
也可以直接从上图的下拉框里选。
sync是先push后pullVSCode还可以设置定时自动fetch。但是我没设。
可以使用Ctrl+Shift+P调出Command Palette,使用更多语法(如Git:
Undo Last Commit
等):此外VSCode左下角也有快捷工具栏:
可以在Explorer界面看到文档的时间线:(蓝框打码的是我的用户名)
点击某个commit可以看到与当前文件的对比。
右键commit可以选择:对比,复制commit id 或 commit message
复制commit id功能可以用于回退版本:
git reset --hard (复制的commit id)
这样就会使对应版本之后的版本全部消失,当前文件回到对应版本点击View > Output然后选择Git可以打开Git output window
.gitignore文件保存后就可以生效,Git会忽略其中配置的文件(但是我看了一下好像如果已经上传到版本库(完成commit)了,就没用了。但是我不确定,我以后还准备继续实验能否作此工作),被忽略的文件在explorer中会变灰:
另,仍然建议用命令行进行的Git操作:
- 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为例,复制的位置在这里:
- 用命令行
push
:git push 远程仓库名 branch名
- 如果因网络原因无法上传(push)项目,可以尝试如下命令行(有时有效):
- git clone
git config --global --unset http.proxy
git config --global --unset https.proxy
本文参考的教程及文档:
- 廖雪峰Git教程
- VSCode Git相关内容文档:Using Version Control in VS Code
- Git常用命令pull、push、fetch_福尔摩斯est的博客-CSDN博客_git命令pull代码
- git fetch 命令 | 菜鸟教程
VSCode上的Git使用手记(持续更新ing...)相关推荐
- 重拾CCNA,学习笔记持续更新ing......(4)
重拾CCNA,学习笔记持续更新ing......(4) 路由器作用功能的经典解说(笑)(非原创) 假设你的名字叫小不点,你住在一个大院子里,你的邻居有很多小伙伴,在门口传达室还有个看大门的李大爷,李大 ...
- js中text方法是啥意识_一盏茶的时间,快速捕获JS中常用的方法(细心整理,持续更新ing)...
不知不觉上班一周辽-趁着大好周末,小编挣扎着从床上爬起来,决定对前端日常编程中常用到的一些方法做一个系统的整合. 有些人或许会觉得忘了百度就完事儿,no no no!这事儿小编真的亲践过好多次,百度一 ...
- 程序员的职业选择,你应该知道的,持续更新ing
程序员的职业选择,你应该知道的,持续更新ing 一下内容只是个人认知的表达,仅供参考,互相交流,不喜勿喷 程序员的职业选择,你应该知道的,持续更新ing 我认识很多猎头,有些曾经是经验丰富的HR,以下 ...
- 2023届秋招提前批信息汇总(持续更新ing)
实时更新的文档:2023届秋招提前批信息汇总(持续更新ing) (qq.com) 公司 投递链接 面试网站 工作地点 截止时间 互联网及私企(软件) 网易游戏 网易游戏(互娱)校园招聘官网 https ...
- Python3常用其他API速查手册(持续更新ing...)
诸神缄默不语-个人CSDN博文目录 最近更新时间:2023.5.11 最早更新时间:2022.6.27 运算符 + - * / 取余% 开方** 等式:= == > < >= < ...
- 常用数据集整理(持续更新ing)
常用数据集整理(持续更新ing) 在做实验过程中经常用到的数据集整理一下,按照学习过程中遇到的数据集的先后顺序进行整理,希望能对科研有所帮助.本博文将随着学习过程持续性更新,有其他常用数据集的 ...
- PyCharm使用期间出现报错集合 持续更新ing
PyCharm使用期间出现报错集合 持续更新ing 啥时候用PyCharm发现了奇奇怪怪的错误就整理上来 这几天帮同学安装torch的时候出现了一些奇奇怪怪的问题 1.torch始终安装失败 描述一下 ...
- 开源小程序CMS网站,JeeWx-App-CMS 持续更新ing~
JeeWx-App-CMS开源小程序CMS网站,持续更新ing~ JeeWx-App-CMS 是jeewx开发的小程序网站开源项目,基于小程序wepy语言,具备cms网站的基本功能,能够打造简单易用 ...
- TS 常见问题整理(60多个,持续更新ing)
TS 常见问题整理(60多个,持续更新ing) https://cloud.tencent.com/developer/article/1593335
最新文章
- Java 8 中的这个接口真好用!
- 解决 yum时 Error: Protected multilib versions报错
- Android基础--tools:context=.TestActivity作用
- MySQL Transaction--快照读和当前读
- Leetcode 剑指 Offer 21. 调整数组顺序使奇数位于偶数前面 (每日一题 20210917)
- kali linux下安装TOR
- Java8新特性解析
- matlab 曲线拟合求导,基于matlab曲线拟合的数据预测分析
- 使用base标签后图片无法加载_Spring 源码学习(二)-默认标签解析
- Swift -- 7.5 类型属性,方法
- URAL-1998 The old Padawan 二分
- oracle 转换日期的函数,Oracle日期常用函数转换教程
- Labview波形图 波形图表 XY图
- Unity3d import package 无标准资源包
- python等额本息和等额本金_房贷利率有没有套路?Python透彻解读“等额本金”与“等额本息”的差异所在...
- 马斯克的“圣战”:阻止人工智能毁灭人类
- Python中的数值运算与逻辑运算
- 永不停歇(obama在亚利桑那州治大学毕业典礼上的演讲)
- 金融计算机次方的计算,金融理财计算器使用方法CASIOFC100,200.pdf
- 知道自己在做什么很重要
热门文章
- Java基础——接口
- 看完《四海》,我只有一肚子的槽想吐
- python自动化提取pdf表格_[Python] 自动化办公 多种提取PDF图片的方法
- ManageEngine卓豪受邀参观北京环球影城,必玩项目给你罗列好了!这个假期一起去嗨!
- 三生三世十里桃花用计算机怎么弄,三生三世十里桃花ios如何用电脑玩 三生三世十里桃花ios电脑教程...
- php 打印curl请求的header信息和返回的header信息
- 【计算机毕业设计】旅游网站ssm源码
- 读《逍遥游》感叹中国教育
- Java使用S7协议连接西门子PLC1200、1500
- 第一次单车背包旅行,章丘百脉泉