很早就安装了VS Code,当时只是从一篇技术文章中看到的,说是体积小功能强,支持多种编程语言,各类语法高亮,总之就是很好的意思,因此就下载下来了,不过一直没用过。工做主要是C# ,因此开发都是用的VS,从03版本一直用到如今的17版本. 最近项目过了迫不及待的阶段,打算学习点东西,正好用用VS Code,这个行业不学是真的很快被淘汰,亚历山大~~~html
VS Code 是一款程序編輯器。除了支持多种开发语言编辑外,Source Control 功能是很重要的一部分。目前比较火热的版本控制工具就是Git了,我以前用的一直都是TFS,也是最近一年才开始使用git,用了TFS再转换为git的开发人员,能更深入的体会到分布式版本控制系统的好处。幸运的是VS Code也把支援Git的使用,做为重要功能之一。Source control在VS Code面板左侧功能列表种种,由此看出其重要地位。git
在使用Git功能以前,须要对Git有必定的了解。好在我已经用过了,虽然不是很深刻,可是最基本的使用仍是木有问题滴。推荐一个学习Git的好资源 宝哥的 30天精通Git版本管控
了解到Git是 分散式版本控制系统,Git专案有三个主要区域:Git目录、工做目录(working directory)、暂存区域(Stage area) 等基本知识后,就可使用VS Code的Git功能了。github
VS Code的Git功能,是基于本机电脑安装的Git套件。若是要使用的须要先确认Git条件是否已经安装。若没有安装,请到Git官网下载安装档案并安装到本地。编程
你们比较熟知的工具是GitHub,而咱们公司用的是GitLab,功能几乎差很少,平时在外面本身的项目有时候会挂到GitHub上,在公司里面就所有用GitLab了。下面就以GitLab为例,建立仓库。Git能够再本地建立仓库,可是一个项目一般是由各个团队成员一块儿开发,这时候就须要建立远端仓库了。
bash
在建立好的目录中右键 选择Git bash here .输入编程语言
git clone [URL]
分布式
url就是上一部中拷贝的远端仓库的URL。工具
以上工做准备完毕后,打开VS Code,File-Open Folder 选择上面建立的目录。就能够看到,VS Code 会有个图标显示正在存取该目录的git资讯。gitlab
经过上面的步骤,咱们开启的目录就已经归入了Git管控,若是咱们在VS中作一些变动,对git来讲都是状态的变动。就能够在VS的左测的Git 页签中看到
学习
在左侧的Git页签中,选择该文件右键选择Stage Changes 或者直接点击当前文件后方的【+】号,就会将当前档案由 工做目录(working directory) 放到暂存区域(staging arae). 此时档案会出如今STAGED CHANGES 中并被标注为A,表明git add 的指令被加入到暂存区域。
新建立一个文件,保存为Untitle-1.txt,放入暂存区后,再次编辑文件保存,会发现该文件同时出如今STAGED CHANGES 和CHANGES 中。前者状态是A,后者状态为M.表明该档案已经修改,等待再次被加入到暂存区域。
在文档目录中对建立的文件作删除动做,此时该文档就会出如今CHANGES中并被标记为D。 StageChanges 以后就会在STAGED CHANGES中显示该文档一样标记为D。输入描述执行Commit以后将会删除此文档。
若是要将暂存区域中的变动所有Commit到Git目录中,能够在下图区域输入要Commit的信息,而后按下Ctrl+Enter快捷键,就会进行git commit 的动做。
关于分支我目前所用到的操做主要以下:
VSCode中对Branch的支持确定也是必不可少的,在VSCode中能够在最下方看见Git的当前分支,点击分支名称,能够在最上方弹出一个对话框,在里面能够Checkout已经存在的分支以及建立新的分支。
如上图在弹出的内容中选择 【+Create new branch】 这时候会弹出以下内容,让填写Branch 的名称,而后按Enter键完成建立或者按Esc键取消建立。
这里输入develop 并 Enter,建立成功后会自动切换到develop分支。在最下方的成色条框内最左侧就会显示develop。
此时develop 默认是从master分支建立的。且是建立在本地仓库的分支。
前面的操做与上面相同,不一样的是在按下Enter以后会弹出选择从哪一个分支建立。以下图所示,这个分之是一个feature分支,用来修改主页面,因此选择从develop分支建立。建立完成后,会自动签出当前建立的分支。
这里面由于没有用gitflow,随意就是在分支命名上有所区分。后面会研究一下VS中是否能够用gitflow 仍是只能结合git 命令来用。
在Git页签的 More Action中选择Push 就能够将本地仓库develop推送到远端。从gitlab中就能够看到develop分支了.
在Git页签的 More Action中选择Push 就能够将本地仓库develop推送到远端。从gitlab中就能够看到develop分支了
当前分支是在最后建立的feature-ChangeHomePage中,想要切换到其余分支。这个地方忽然想要测试一下分支的签出与VS中的签出差别。先说一下我在VS中的操做:若是在一个分支下修改的代码,要想切换到另外一个分支,必须签入或者复原此分支的修改,才能签出另一个分支。
在VSCode 中我在当前分支feature-ChangeHomePage分支中修改了Views下Home中的index.cshtml文件。修改后我直接签出develop分支,将代码在develop分支上作了Stage以及Commit的动做,此时发现这个Commit就真的在develop分支生效了。而并不向VS中同样会禁止这种操做。
提交代码成功后,我再次签出feature-ChangeHomePage分支,发现这里代码是没有变动的。
我感受这块的处理仍是有点问题的,虽然此次是刻意为之,但这样并彻底没有规避这种问题,若是向VS中一旦修改了代码,哪怕是Untracked状态,不Commit或者undo以前都不容许切换到其余分支,会更好一点。
提取分支 pull
目前master分支的代码和develop分支是不一致的,为了测试这个功能从远端将develop分支合并到master分支,而后在本地对master分支进行pull操做。
![]()
![]()
是上面操做中先Push再Pull 和合并。
以上的这些操做都会转换为对应的git command ,出如今VSCode的output窗口中。
感恩每个写文档将知识分享给你们的人,耗时还耗力,还可能收到一些人的恶意评论。其实我也喜欢写不过不是写在博客上。后面有时间能够将本身总结的一些东西也都慢慢放上来,能帮助别人最好,能收到指正和指导也很棒,像无私分享的小伙伴学习。
这是我第一篇从草稿里面发布出来的随笔,若是有错误的内容还但愿各位浏览我文章的伙伴儿们能不吝指出哦!