2020-12-12
VS2019 16.8更新了团队资源管理器, 如果你用的VS的团队资源管理器没有以下的Git功能界面, 请参考这篇文章 VS2019 16.8 “消失“的团队资源管理器
前言
这篇要讲的是团队资源管理器, 简单的来说就是Git for VisualStudio.
我们在Windows平台上使用的Git软件是Git for Windows, 官方的有两个打开方式: bash和GUI, 如下所示:
其中bash就是网上最常见的命令行式的打开方式, git clone git checkout..这些命令都是在bash中使用的. 这个GUI也还能用, 就是界面简陋了点.
除了官方的这套工具以外, GitHub自己写了一套GithubDesktop的工具, 用来作为Windows下的Git GUI使用. 界面确实比原生的GUI好很多, 也可以直接登录Github账号直接使用SSH的方式来Clone. 但是功能不够丰富, 有些功能还是要打开bash来输入命令操作. 下面是GithubDesktop的界面:
而VS团队管理器和GithubDesktop一样, 也是一种基于Git for Windows的Git GUI. 即命令都是由Git for Windows去执行的, 而VS只负责将界面的UI操作转换成对应的命令行发送给Git for Windows. 与Github Desktop不同, 这个东西是直接作为一个管理器嵌入在VS中. 界面如下:
目前来看, VS的团队管理器是我用的最顺手的Git工具.
安装步骤
1. 打开VisualStudioInstaller
2. 在单个组件中搜索git 安装两个组件:
3. 安装好了, 打开一个Github的网址试试:
在Clone or Download下面会增加Open in Visual Studio的选项卡. 点击后会出现打开外部应用的提示,这时候点击是就会打开VisualStudio的团队管理器并且填充上git clone的内容.
Git实操
下面操作的仓库以Github为例子, 因为它是最常用的. 这是我在Github下创建的一个示例项目 https://github.com/JustLuoyu/vs2019-cmake-template:
Clone
Clone操作就是将云端的项目下载到本地作为一个本地副本. 你可以用这个副本编译自己要的东西, 也可以基于这个副本开发自己需要的特性, 最后提交给远端的项目. 所以一般使用git的第一个操作就是Clone: 代码仓库的本地克隆.
1. 点击Github的Clone获取仓库的地址:
2. VS中有两种方式进行克隆: 一种是通过VS的Github扩展直接打开VS进行Clone, 另一种是复制仓库地址到VS进行clone.
a. 通过VS的Github扩展进行Clone(这个可能需要浏览器支持):
b. 通过VS创建项目器打开Github链接:
出现克隆存储库的界面:
上图中的存储库位置就是Github下的这个链接: [email protected]:JustLuoyu/vs2019-cmake-template
注意这个是SSH地址, SSH的协议需要自己手动配置SSH的公钥到Github(GithubDesktop不需要). 不熟悉的话就点击Use HTTPS, 走HTTPS协议:
复制到VS的存储库位置:
点击克隆后就开始拉取服务器的文件了:
团队管理器介绍
1. 切换到团队管理器
2. 主页介绍:
3. 上面的功能按键的具体用法就在下文的例子中演示
Commit
这个就是提交更改, 一般是提交到本地的仓库, 但是VS提供了提交并推送的功能, 也可以直接提交到服务器端.
我先示范修改一次README.md的内容:
保存后回到团队管理的更改:
再重点说下更改的界面:
我们先忽略掉.vs文件夹:
上图中右键中有删除和忽略本地项两个选项, 忽略本地项是指: 这个文件虽然是本地需要的, 但是我不需要上传到服务器进行版本控制,可以动态生成. 删除是指: 这个文件无论服务器还是本地都是不需要的.
这时候就变成了两个更改文件了,如下 :
.gitignore就是刚刚的忽略操作带来的更改, 可以双击看看:
如上面操作就可以通过VS的差异工具直接看到更改的代码位置.
这里我先直接做一次提交操作到Github:
选择全部提交并推送, 推送成功如下:
如果失败, 一般情况下也就是网络问题,多试试. 上图右边的图片是Git的输出窗口, 如果失败了就在这里找到git的错误代码去网上搜索解决方法.
这里顺便说下, 由于Github用的是AWS的云服务器, 在国内访问有时候会异常痛苦, 最好就是用梯子拉取代码. 没有梯子的话,也可以通过修改hosts的ip来稍微解决下:
这里不具体说怎么提速, 因为这些IP也是一直在变, 可能今天好用明天就不行了.
回到Github上查看下推送的提交:
上面的commit实际上演示的是两个功能:提交和同步.
Branch
分支功能这里主要示范下创建新的分支和切换分支的操作.
新建分支
1. 新建一个TestBranch分支
2. 分支界面详解:
上面有两个高阶功能:合并和变基, 这里就暂不介绍了, 否则又要扯一堆Git框架的东西.
3. Push分支到云端:
注意看上图的TestBranch前面的图标增加了一个绿色的箭头, 这就表示该分支是在云端有追踪的.
切换分支
直接双击某个分支就可以切换了, 切换成功后会有高亮的名字显示.
这篇暂时就讲到这里, 应该还有一到两篇与git相关的文章. 一是补充这篇没有讲到的git 操作, 二是示范一下微软自己的Azure代码云的仓库操作.