VS2017中使用GitHub

这些天在学习GitHub的相关知识, 尤其是VS2017中内置GitHub的使用,过程中遇到了一些问题,记录下来有所帮助。

一、GitHub Extension for Visual Studio
在许多的CSDN教程上都是直接讲在VS2017中将项目添加到代码管理器呀,同步呀,推送呀。可能各位博主认为Extension这个东西不需要讲,默认大家应该是知道的。实际上VS2017中使用GitHub一定要从GitHub Extensionan安装开始的。打开Tools->Extensions and Updates
在这里插入图片描述
然后搜索并安装GitHub Extension for Visual Studio。下图是我已经安装好了,实际上需要从左边的Online选项中选取并安装。下载安装后,VS会提示关闭所有的VS窗口并重启,重启后没有意外就可以使用了。
在这里插入图片描述

二、VS2017中GitHub的使用
如果是从零开始使用的话,其实CSDN上有很多资料都是可以参考的,但是我之前已经花式使用过Git Bash以及GitHub Desktop,并且在GitHub的账号中建立了多个库(Repository),想就在现有的库中完成远端库(remote:origin)和本地库之间的关联。
1.首先打开团队界面(Team Explorer)->Manage Connections->Connect to GitHub
在这里插入图片描述
会弹出一个界面要求输入GitHub的账号密码,这个就自己动手吧。成功登陆时候你的账号注册邮箱会收到邮件告诉你第三方插件登入了GitHub,无视它就可以了。
在这里插入图片描述
2.登陆之后在Global Settings中填写一下自己的User Name呀,Email呀,本地库的path呀,然后就可以转到连接(Connection)界面继续使用了。Connection的Local Git Repository下面有一些蓝色的按钮,New是新建本地库,Add是将之前已有的文件夹作为本地库加入,Clone就是将GitHub上的库Clone到本地上。
在这里插入图片描述
3.关联好本地库和远端库之后就可以进行操作和更改了,这些原理和Git使用是一样的,只是出现了集成在VS中的UI,实际上和GitHub Desktop也是一个性质,使用图形化界面来代替命令行的输入。我们双击发生更改的本地库比如这里的AlexChongMicrosoft,会进入一个比较详细的操作菜单,这个用过GitHub的应该大致知道是什么意思。
在这里插入图片描述
3.Sync按钮。这个命令在Git中似乎是没有的,我个人使用感觉上是VS和GitHub同步的意思,实际操作感觉就像是commit and push。不知道除了本体同步到远端之外,还有没有兼顾pull这样从远端同步到本地的命令,以后有机会可以试一试。
在这里插入图片描述
4.Changes按钮点进去会看到你最近的一些更改,如果你确认了这些更改的话,填入备注并提交就好了。这里可以看到有Commit All and Sync以及Commit All and push的不同命令,证明Sync和push确实是不等价的,实际点击之后我却没有看出什么差别,所以应该是猜想中的还有pull的相关命令,只是我暂时没有用到。
在这里插入图片描述
5.Submodule状态。
当我完成同步之后,我去GitHub上查看,确实看到了已有的改变,但是有一个文件夹PythonApplication1居然不能点击,这是怎么回事儿?回头去看上图的状态,发现PythonApplication1后面有一个[submodule]。
在这里插入图片描述
事情的关键应该是在这个[submodule]上,于是我又去找了一下相关资料,原来在Git中海油子模块这个概念。主要是在一个项目中还包含了另外的项目,这两个项目都在开发和进行当中。所以子模块就是允许将一个Git库B作为另一个Git库A的子目录,库B会显示在库A中,但是库A和库B需要保持各自独立的提交。简单说如果在本地库A中修改了库B的文件,比如本例的库B中的B1.py,你就会在库A的Changes中看到库B[submodule],但是你提交后在库A中无法直接查看B1.py,而且实际也不会有任何更改。只有你进入本地库B后提交更改,才能在GitHub的库B中看到B1.py的详细修改。子模块的具体用法在以后使用中再继续发掘吧。

参考了一些资料,非常感谢各位博主。
小白教程:Visual Studio 2017配置GitHub图文教程

使用 HPSocket 需要遵循以下步骤: 1. 下载 HPSocket,可以从官网下载:https://github.com/ldcsaa/HP-Socket。 2. 安装 HPSocket,选择对应的版本和平台,安装完成后会在安装目录下生成 include 和 lib 文件夹。 3. 创建一个 Qt 项目,添加 HPSocket 的头文件和库文件。 4. 在 Qt 项目使用 HPSocket 提供的 API 来编写网络通信代码。 下面是一个简单的使用 HPSocket 实现 Echo 服务器的示例代码: ```c++ #include <QtCore/QCoreApplication> #include "HPTypeDef.h" #include "HPNetTypeDef.h" #include "HPSSL.h" #include "HPHttp.h" #include "HPSocket4C.h" class CEchoServerListener : public CTcpServerListener { public: virtual EnHandleResult OnPrepareListen(ITcpServer* pSender, SOCKET soListen) { printf("Listening...\n"); return HR_OK; } virtual EnHandleResult OnAccept(ITcpServer* pSender, CONNID dwConnID, UINT_PTR soClient) { printf("A new connection arrives: %d\n", dwConnID); return HR_OK; } virtual EnHandleResult OnReceive(ITcpServer* pSender, CONNID dwConnID, const BYTE* pData, int iLength) { printf("Received data from %d: %s\n", dwConnID, pData); pSender->Send(dwConnID, pData, iLength); return HR_OK; } virtual EnHandleResult OnClose(ITcpServer* pSender, CONNID dwConnID, EnSocketOperation enOperation, int iErrorCode) { printf("Connection %d closed: %d\n", dwConnID, iErrorCode); return HR_OK; } }; int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); CEchoServerListener listener; CTcpServerPtr pServer = Create_HP_TcpServer(&listener, nullptr); if(pServer->Start("0.0.0.0", 5555)) printf("Echo server started on port 5555\n"); return a.exec(); } ``` 在这个示例,我们定义了一个 CEchoServerListener 类来实现 TcpServerListener 接口,然后创建了一个 CTcpServerPtr 实例,并调用 Start 方法来启动 Echo 服务器。在 OnReceive 方法,我们简单地将接收到的数据原样返回给客户端。 这只是一个简单的示例,HPSocket 还提供了很多其他的功能,例如异步 SSL、HTTP 等。您可以参考官方文档和示例来深入了解 HPSocket 的使用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值