[.net 面向对象程序设计进阶] (27) 团队开发利器(六)分布式版本控制系统Git——在Visual Studio 2015中使用Git

时间:2022-10-28 08:07:14

[.net 面向对象程序设计进阶] (26) 团队开发利器(六)分布式版本控制系统Git——在Visual Studio 2015中使用Git

本篇导读:

接上两篇,继续Git之旅

分布式版本控制系统Git——使用GitStack+TortoiseGit 图形界面搭建Git环境

分布式版本控制系统Git——图形化Git客户端工具TortoiseGit

上两篇文章主要介绍了Git服务端和客户环境搭建,介绍了一款优秀的图形化的Git客户端工具TortoiseGit,本篇进入项目实战阶段,介绍如何在Visual Studio 2015中使用Git进行项目版本控制。

1. VS2015在对Git的支持

VS2015是微软IDE集成开发环境的重量级升级,微软除了将触角延伸至iOS和Android平台以及Unity,Unreal和Cocos等游戏开发领域中。而且在进一步集成Git。

可以说在不需要第三方插件的前提下,就可以使用Git来进行团队开发。

2. 在VS2015中使用Git

下面介绍如何在VS2015中使用Git进行团队开发。

2.1 在Git服务器上新建版本库

在使用VS2015进行团队开发前,我们先在Git服务器上创建新的版本库。

打开我们已经安装好的GitStack(如查直接看本篇的同学,可以先看一下服务端环境搭建一文URL:使用GitStack+TortoiseGit 图形界面搭建Git环境)

在GitStack中创建新的版本库,名为“MyGitForVsObject”,并新建两个用户"yubinfeng"和“zhangsan”,再新建一个组"MyGitGroup",将这两个用户加入到该组,并给版本库授权该组。具体操作这里不再赘述,不了解的朋友请看上面的URL.

完成后如下所示:

[.net 面向对象程序设计进阶] (27) 团队开发利器(六)分布式版本控制系统Git——在Visual Studio 2015中使用Git

2.2 在VS2015中克隆远程版本库

我们先在VS2015中新建一个解决方案,在工具栏,点“团队”=》“管理连接”

[.net 面向对象程序设计进阶] (27) 团队开发利器(六)分布式版本控制系统Git——在Visual Studio 2015中使用Git

按上图所示,右打开的 团队资源管理器中,输入远程Git URL,点击克隆按钮,即可完成在VS2015中克隆远程版本库了

[.net 面向对象程序设计进阶] (27) 团队开发利器(六)分布式版本控制系统Git——在Visual Studio 2015中使用Git

克隆成功后,可以在 本地Git存储库 中看到 本地版本库已经 从服务器上克隆下来了。

2.3  Git全局设置

完成版本库克隆后,我们需要在Git中进行一次全局设置。

工具栏 - 团队 - 管理连接,打开团队资源管理器

点击主页按钮,如下图

[.net 面向对象程序设计进阶] (27) 团队开发利器(六)分布式版本控制系统Git——在Visual Studio 2015中使用Git

点击设置,选择全局设置,完成如下三项更改,点更新

[.net 面向对象程序设计进阶] (27) 团队开发利器(六)分布式版本控制系统Git——在Visual Studio 2015中使用Git

用户名:将作为你以后版本提交后日志显示的名称

电子邮件:团队联系使用

默认存储库位置:最好进行一下改动,默认在C盘,防止丢失

2.4  Git存储库设置

存储库设置和全局设置类同,如下

工具栏 - 团队 - 管理连接,打开团队资源管理器

点击主页按钮,选择 设置 - 存储库设置

[.net 面向对象程序设计进阶] (27) 团队开发利器(六)分布式版本控制系统Git——在Visual Studio 2015中使用Git

如上图,其他内容不需要设置,主要 添加一下远程 。这将是以后获取新版本和推送到服务器的地址

此时,我们可以看到项目文件前面有一个小锁,并且代码中已经有了Git的信息,表示项目已经已经受到Git控制

[.net 面向对象程序设计进阶] (27) 团队开发利器(六)分布式版本控制系统Git——在Visual Studio 2015中使用Git

2.5  第一次向Git服务器发布项目

我们上面看到的所有Git的受控信息,只是相对于克隆到本地的版本库,此时Git服务器并没有接收到这些工程文件,下面我们要做的将是第一次将本地版本库中的工程文件同步到Git服务器,即项目发布

工具栏 - 团队 - 管理连接,打开团队资源管理器

点击小房子,回到Git主页,点击同步

[.net 面向对象程序设计进阶] (27) 团队开发利器(六)分布式版本控制系统Git——在Visual Studio 2015中使用Git

此时,出现如下界面

[.net 面向对象程序设计进阶] (27) 团队开发利器(六)分布式版本控制系统Git——在Visual Studio 2015中使用Git+

我们第一次将本地分支发布到远程服务器,点击发布

[.net 面向对象程序设计进阶] (27) 团队开发利器(六)分布式版本控制系统Git——在Visual Studio 2015中使用Git

输入远程URL,发布,即可发布到远程库

我们可以打开GitStack查看日志,如下:

[.net 面向对象程序设计进阶] (27) 团队开发利器(六)分布式版本控制系统Git——在Visual Studio 2015中使用Git

上面显示的时间,为你在本地操作的时间。我们可以看到Git作为分布式版本控制系统,你在离线进行操作,在推送时,显示的均为你操作时间,而非推送时间。

2.6  拉取、获取、合并、提交、推送、同步

项目开发过程中,我们通常进行下面几种操作,我一次性介绍,这个和上篇TortoiseGit类似,直接看本篇的同学,可以参考上篇,URL:图形化Git客户端工具TortoiseGit

拉取(Pull):将远程版本库合并到本地版本库; 相当于(Fetch+Meger)

获取(Fetch):从远程版本库获得最新版本

合并(Meger):将两个版本库进行合并操作

提交(Commit):将所做的更改,存入本地暂存库

推送(Push):将所做的更改,存入远程版本库

同步(Pull+Push):先将远程库拉取,再将本地库推送到远程库 注意这个顺序; 相当于(Pull+Push

[.net 面向对象程序设计进阶] (27) 团队开发利器(六)分布式版本控制系统Git——在Visual Studio 2015中使用Git

我们对文件进行修改后,文件前有一个小对号,右击,点提交

[.net 面向对象程序设计进阶] (27) 团队开发利器(六)分布式版本控制系统Git——在Visual Studio 2015中使用Git

我们在提交文件时,记得填写备注,在团队开发中,保持一个良好的习惯

提交在这里有三种:

提交:即将文件存入本地版本库

提交和推送:即将文件更改同时存入本地版本库和远程版本库

提交和同步:将文件更改提交到本地库的,再从远程版本库拉取新版本到本地,再推本地库到远程版本库

注意:

这里的操作,不针对当前文件,而是对所有变更进行提交、推送或同步。

2.7  创建分支

对于创建分支在上篇(URL:图形化Git客户端工具TortoiseGit)中已经介绍过了,这里主要介绍一下如何基于Vs2015创建Git分支

工具栏 - 团队 - 管理连接,打开团队资源管理器

点击小房子,回到Git主页,点击分支

[.net 面向对象程序设计进阶] (27) 团队开发利器(六)分布式版本控制系统Git——在Visual Studio 2015中使用Git

打开分支界面,在master分支上右击,选择 "从选定项创建本地分支"

[.net 面向对象程序设计进阶] (27) 团队开发利器(六)分布式版本控制系统Git——在Visual Studio 2015中使用Git

在这里需要注意我们创建分支,有两种:

(1)创建本地分支

(2)创建远程会支

本地分支有创建前,一定要获取最新版本;远程分支,则要求所有成员最好能推送更改。

至于分支的创建是基于远程还是本地,最好能在团队成员之间达成一致。

下面介绍两种分支的创建方法

先看创建本地分支

[.net 面向对象程序设计进阶] (27) 团队开发利器(六)分布式版本控制系统Git——在Visual Studio 2015中使用Git

输入一个分支名称,创建即可。

远程分支,我们需要选择如下

[.net 面向对象程序设计进阶] (27) 团队开发利器(六)分布式版本控制系统Git——在Visual Studio 2015中使用Git

在创建远程分支时,一定要把跟踪远程分支,这个取消选择,否则将创建了一个跟踪分支,我们就不能发布了。

创建完成后,如下:

[.net 面向对象程序设计进阶] (27) 团队开发利器(六)分布式版本控制系统Git——在Visual Studio 2015中使用Git

分支创建成功,接下就是发布到服务器

[.net 面向对象程序设计进阶] (27) 团队开发利器(六)分布式版本控制系统Git——在Visual Studio 2015中使用Git

右击,点发布分支,即可。

[.net 面向对象程序设计进阶] (27) 团队开发利器(六)分布式版本控制系统Git——在Visual Studio 2015中使用Git

可以看到,分支已经发布到服务器上了。

[.net 面向对象程序设计进阶] (27) 团队开发利器(六)分布式版本控制系统Git——在Visual Studio 2015中使用Git

在服务器上通过GitStack也可以看到,多了一个分支。

 2.8 切换和合并分支

在VS2015中切换分支非常简单,只要在分支名称上双击,就可以了,项目资源管理器中的文件随之变化。

这里主要看一下合并,

我们先切换到新建的分支"2016-2-7",在分支名称右击,选择 合并自...

[.net 面向对象程序设计进阶] (27) 团队开发利器(六)分布式版本控制系统Git——在Visual Studio 2015中使用Git

选择master ,点击合并,即可完成将master合并到新分支了。

[.net 面向对象程序设计进阶] (27) 团队开发利器(六)分布式版本控制系统Git——在Visual Studio 2015中使用Git

 2.9 删除分支

删除分支,首先要从远端删除,如下:

注意,如果要删除刚才新建的分支,和上篇TortoiseGit一样,要切换到另一分支操作。

[.net 面向对象程序设计进阶] (27) 团队开发利器(六)分布式版本控制系统Git——在Visual Studio 2015中使用Git

远端删除后,服务器上的分支就被删除了,本地的分支,直接删除即可。

[.net 面向对象程序设计进阶] (27) 团队开发利器(六)分布式版本控制系统Git——在Visual Studio 2015中使用Git

3. 使用VS2015+HubGit创建开源项目

前面我们介绍了Git作为一个分布式版本控制系统,其最大的优势就是适合开源项目管理。如果你还没有托管一个开源项目,那么你Out了。

目前即于Git开源项目托管平台非常多,Hubgit.com可以说非常知名,只是免费用户,只能托管开源项目。

国内比较大的Git托管平台有:阿里(http://code.taobao.org/) GitCafe (https://gitcafe.com/)  Csdn(https://code.csdn.net/)   开源中国(http://git.oschina.net/)SVNChina(http://www.svnchina.com/)

本篇我介绍一下如何在VS2015中创建并开发自己的开源项目,以Hubgit为例,其他平台使用都差不多。

3.1 创建Github用户

[.net 面向对象程序设计进阶] (27) 团队开发利器(六)分布式版本控制系统Git——在Visual Studio 2015中使用Git

创建完成后,点右上角Sign in进入Github

 3.2 在Github上创建版本库

进入GitHub主页,点右上的 + 创建一个版本库

[.net 面向对象程序设计进阶] (27) 团队开发利器(六)分布式版本控制系统Git——在Visual Studio 2015中使用Git

打开以后,如下

[.net 面向对象程序设计进阶] (27) 团队开发利器(六)分布式版本控制系统Git——在Visual Studio 2015中使用Git

按图示完成,就可以了。

[.net 面向对象程序设计进阶] (27) 团队开发利器(六)分布式版本控制系统Git——在Visual Studio 2015中使用Git

点右上角按钮,”your profile“查看你创建的版本库 test,点击进入

[.net 面向对象程序设计进阶] (27) 团队开发利器(六)分布式版本控制系统Git——在Visual Studio 2015中使用Git

接下来的操作,我们已经很熟悉了,就是在VS2015中打开GitHub版本库,进入开源项目的世界了。。。

3.3 在VS2015上发布自己的开源项目

[.net 面向对象程序设计进阶] (27) 团队开发利器(六)分布式版本控制系统Git——在Visual Studio 2015中使用Git

这一步相信,大家一定非常熟悉了,对,就和上面介绍的克隆自己服务器上的版本库一样。

然后,我们新建一个解决方案或打开一个已有的解决方案

[.net 面向对象程序设计进阶] (27) 团队开发利器(六)分布式版本控制系统Git——在Visual Studio 2015中使用Git

创建完成后,

工具栏 - 团队 - 管理连接,打开团队资源管理器

点击小房子,回到Git主页,点击 更改

[.net 面向对象程序设计进阶] (27) 团队开发利器(六)分布式版本控制系统Git——在Visual Studio 2015中使用Git

点击 提交和推送,这时提示一个身份验证,这是必须的,使用 前面注册的用户名和密码即可,当然这是开源项目,只要有Github用户,都可以进行版本克隆和提交代码

[.net 面向对象程序设计进阶] (27) 团队开发利器(六)分布式版本控制系统Git——在Visual Studio 2015中使用Git

推送完成后,我们可以在github上查看

[.net 面向对象程序设计进阶] (27) 团队开发利器(六)分布式版本控制系统Git——在Visual Studio 2015中使用Git

没问题,刚才推送的解决方案已经更新到github服务器了。

提交、获取、推送、分支,这些我就不用再说了吧,和上面介绍的完全一样了

3.4  如何加入别人的开源项目?

如何加入别人的开源项目?也就是别人如何参与你的开源项目,意思是一样的,就是除原创建者之外的人,要如何克隆版本库?

比如比较著名的开源项目Jquery,你如何开发他的项目呢?

你又不能直接在VS 2015中克隆人家的库,其实这个并不难办,看下面的图:

[.net 面向对象程序设计进阶] (27) 团队开发利器(六)分布式版本控制系统Git——在Visual Studio 2015中使用Git

先进入Jquery的项目URL,然后点 右上的 Fork ,就将这个项目加入到你的库里了,相当于直接克隆了一个副本到你的GitHub上。

这下,你就可以用自己的帐号,在VS上克隆你的GitHub中的Jquery项目了,你可以加入自己的idear,如果你希望jquery的官方库能接受你的修改,你就可以在GitHub上发起一个pull request。当然,官方是否接受你的pull request就不一定了。

最后,我忘记说一件事了,我们刚才建的版本库test,别人也可以用同样的方法进行参与,只是你一定要记得,将初始库设为只读。

[.net 面向对象程序设计进阶] (27) 团队开发利器(六)分布式版本控制系统Git——在Visual Studio 2015中使用Git

3.5  如何删除创建的版本库

先进入你的版本库,点右边的setting,进入设置页,拉到最底下

[.net 面向对象程序设计进阶] (27) 团队开发利器(六)分布式版本控制系统Git——在Visual Studio 2015中使用Git

点击 删除该版本库,再输一次版本库名称,即可。

3.6  桌面版的GitHub

如果你在网站上看项目进度等信息,感觉不方便 ,你可以下载安装桌面版的Github

下载地址:https://desktop.github.com/

有windows和mac版本,可以通过桌面版完成网站上的所有功能。

使用GitHub进行团队协作的流程,可以参考这个视频,感觉非常好,推荐一下,URL:http://www.imooc.com/learn/390

4. 本节要点:

本篇主要介绍了如何在Visual Studio 2015中使用Git,然后介绍了目前流行的一些开源托管平台,最后以GitHub为例,介绍了如何创建自己的开源项目和参与别人的开源项目。

如果你还没有自己的开源项目,快点动手申请一个Github帐号,共享出你的项目吧~开源需要每个人的努力~

==============================================================================================

返回目录

<如果对你有帮助,记得点一下推荐哦,如有有不明白或错误之处,请多交流>

<对本系列文章阅读有困难的朋友,请先看《.net 面向对象编程基础》>

<转载声明:技术需要共享精神,欢迎转载本博客中的文章,但请注明版权及URL>

.NET 技术交流群:467189533 [.net 面向对象程序设计进阶] (27) 团队开发利器(六)分布式版本控制系统Git——在Visual Studio 2015中使用Git

==============================================================================================

[.net 面向对象程序设计进阶] (27) 团队开发利器(六)分布式版本控制系统Git——在Visual Studio 2015中使用Git的更多相关文章

  1. &lbrack;&period;net 面向对象程序设计进阶&rsqb; &lpar;26&rpar; 团队开发利器(五)分布式版本控制系统Git——图形化Git客户端工具TortoiseGit

    [.net 面向对象程序设计进阶] (26) 团队开发利器(五)分布式版本控制系统Git——图形化Git客户端工具TortoiseGit 读前必备: 接上篇: 分布式版本控制系统Git——使用GitS ...

  2. &lbrack;&period;net 面向对象程序设计进阶&rsqb; &lpar;25&rpar; 团队开发利器(四)分布式版本控制系统Git——使用GitStack&plus;TortoiseGit 图形界面搭建Git环境

    [.net 面向对象程序设计进阶] (25) 团队开发利器(四)分布式版本控制系统Git——使用GitStack+TortoiseGit 图形界面搭建Git环境 本篇导读: 前面介绍了两款代码管理工具 ...

  3. &lbrack;&period;net 面向对象程序设计进阶&rsqb; &lpar;24&rpar; 团队开发利器(三)使用SVN多分支并行开发&lpar;下&rpar;

    [.net 面向对象程序设计进阶] (24) 团队开发利器(三)使用SVN多分支并行开发(下) 本篇导读: 接上篇继续介绍SVN的高级功能,即使用分支并行开发.随着需求的不断变更,新功能的增加.特别是 ...

  4. &lbrack;&period;net 面向对象程序设计进阶&rsqb; &lpar;23&rpar; 团队开发利器(二)优秀的版本控制工具SVN&lpar;上&rpar;

    [.net 面向对象程序设计进阶] (23) 团队开发利器(二)优秀的版本控制工具SVN(上) 本篇导读: 上篇介绍了常用的代码管理工具VSS,看了一下评论,很多同学深恶痛绝,有的甚至因为公司使用VS ...

  5. &lbrack;&period;net 面向对象程序设计进阶&rsqb; &lpar;22&rpar; 团队开发利器(一)简单易用的代码管理工具VSS

    [.net 面向对象程序设计进阶] (22) 团队开发利器(一)简单易用的代码管理工具VSS 本篇要点:在进阶篇快要结束的时候说说源代码管理器,我们的开发,不是一个人可以完成的事,团队协作很重要,而且 ...

  6. ASP&period;NET5之客户端开发:Grunt和Gulp构建工具在Visual Studio 2015中的高效的应用

    Grunt和Gulp是Javascript世界里的用来做自动压缩.Typescript编译.代码质量lint工具.css预处理器的构建工具,它帮助开发者处理客户端开发中的一些烦操重复性的工作.Grun ...

  7. ASP&period;NET 5系列教程 &lpar;五&rpar;:在Visual Studio 2015中使用Grunt、Bower开发Web程序

    基于Visual Studio 2015,你可以: 方便的管理前端包,如jQuery, Bootstrap, 或Angular. 自动运行任务,如LESS.JavaScript压缩.JSLint.Ja ...

  8. 在Visual Studio 2015 中添加SharePoint 2016 开发模板

    前言 SharePoint 2016已经发布很久了,然而,默认安装VS2015以后,却没有SharePoint 2016的开发模板.其实问题很简单,和VS2012开发SharePoint 2013一样 ...

  9. 开发 ASP&period;NET vNext 初步总结(使用Visual Studio 2015 Preview )

    新特性: vNext又称MVC 6.0,不再需要依赖System.Web,占用的内存大大减少(从前无论是多么简单的一个请求,System.Web本身就要占用31KB内存). 可以self-host模式 ...

随机推荐

  1. &lbrack;原创&rsqb;-bash&colon; iostat&colon; command not found解决办法

    [root@testhost ~]# iostat-bash: iostat: command not found IOSTAT 命令不可用,首先确认sysstat包是否安装,sysstat包中包括i ...

  2. 自定义JS常用方法

    1,获取表格中的元素,支持IE,chrome,firefox //获取表单元素的某一个值 function getTableColumnValue(tableId, rowNumber, column ...

  3. Linux软件管理——yum命令详解

    yum install <softwarename> #安装指定软件 yum remove <softwarename> #卸载指定软件 yum update <soft ...

  4. hdu4570Multi-bit Trie

    链接 13年长沙邀请赛的题,神题意~ 题意:摘自http://blog.csdn.net/libin56842/article/details/9703457 这题题意确实有点难懂,起码对于我这个英语 ...

  5. lua学习:游戏中的Lua

    lua作为一种脚本语言,可以快速地开发游戏的原型.提高游戏的开发效率. 在游戏中,lua可以用来完成下面这些工作: ●编辑游戏的用户界面 ●定义.存储和管理基础游戏数据 ●管理实时游戏事件 ●创建和维 ...

  6. IDispose&lpar;&rpar;&comma; Finalize&lpar;&rpar;

    C#  using 用法: 1. 作为指令,用于为命名空间创建别名或导入其他命名空间中定义的类型.(见例1-1) 2. 作为语句,用于定义一个范围,在此范围的末尾将释放对象.(见例1-2) (例子1- ...

  7. 请编程实现&colon;产生一个int数组,长度为100,并向其中随机插入1-100,并且不能重复(百度了一下,get一种高性能算法,非递归)

    网上找到一种更好的实现方式: (1)把N个数放到容器A(int数组)中. (2)从N个数中随机取出1个数放入容器B(int数组)中. (3)把容器A中最后一个数与随机抽取的数对调 或者 把容器A中最后 ...

  8. MyKTV项目,走起!

    MyKTV项目,走起! 第一部分:这个项目对于新手来说有一点难度,但是当你理清类之间的关系和怎样去实现功能后就会感觉轻松很多. 话不多说,先上类图: 接着是数据库表间关系: 本项目要实现以下功能: 明 ...

  9. 解决linux看温度是报错No sensors found问题

    今日因为同事的linuxserver频繁死机,其型号和配置与我的一致,故此与其对照了一下server的内存使用率.CPU使用率.温度等信息. 在对照温度信息的时候发现无法使用sensors进行温度查看 ...

  10. cin问题 分类: c&plus;&plus; 2014-08-02 21&colon;13 38人阅读 评论&lpar;0&rpar; 收藏

    string s: while(cin>>s){ cout<<s<endl; } 当输入ss w    ww   w   w 按enter时 输出为 ss w ww w ...