[.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.

完成后如下所示:

2.2 在VS2015中克隆远程版本库

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

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

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

2.3  Git全局设置

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

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

点击主页按钮,如下图

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

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

电子邮件:团队联系使用

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

2.4  Git存储库设置

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

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

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

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

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

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

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

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

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

此时,出现如下界面

+

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

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

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

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

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

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

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

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

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

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

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

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

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

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

提交在这里有三种:

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

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

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

注意:

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

2.7  创建分支

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

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

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

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

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

(1)创建本地分支

(2)创建远程会支

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

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

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

先看创建本地分支

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

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

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

创建完成后,如下:

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

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

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

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

 2.8 切换和合并分支

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

这里主要看一下合并,

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

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

 2.9 删除分支

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

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

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

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用户

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

 3.2 在Github上创建版本库

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

打开以后,如下

按图示完成,就可以了。

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

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

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

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

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

创建完成后,

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

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

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

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

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

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

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

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

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

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

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

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

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

3.5  如何删除创建的版本库

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

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

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的更多相关文章

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

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

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

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

  3. [.net 面向对象程序设计进阶] (24) 团队开发利器(三)使用SVN多分支并行开发(下)

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

  4. [.net 面向对象程序设计进阶] (23) 团队开发利器(二)优秀的版本控制工具SVN(上)

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

  5. [.net 面向对象程序设计进阶] (22) 团队开发利器(一)简单易用的代码管理工具VSS

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

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

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

  7. ASP.NET 5系列教程 (五):在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.NET vNext 初步总结(使用Visual Studio 2015 Preview )

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

随机推荐

  1. IIS与Apache共用80端口

    Windows server 2003服务器上安装有默认 IIS 6和Apache两个服务器,IIS运行的一个.net程序,apache运行php程序,现在想让它们同时都能通过80端口访问,设置起来还 ...

  2. 自动滑动的banner图

    实例: HTML页面: <div style="position: absolute; left: 0; top: 0; width: 100%; height: 100%; min- ...

  3. 在iIBatis中使用MySql中出现的配置问题

    1.首先需要下载mySQL-connector-net的安装包.可以通过下面两种方式,第一种是需要安装的,第二种是直接可以下载使用的. 第一种: http://dev.mysql.com/downlo ...

  4. C#ListBox对Item进行重绘,包括颜色

    别的不多说了,上代码,直接看 首先设置这行,或者属性窗口设置,这样才可以启动手动绘制,参数有三个 Normal: 自动绘制 OwnerDrawFixed:手动绘制,但间距相同 OwnerDrawVar ...

  5. Delphi 中的自动释放策略-转

    八.使用结构体而不是结构体指针: 很重要 一.指定 Owner 后, 随 Owner 连带释放: //uses Vcl.StdCtrls, Vcl.ExtCtrls; var panel: TPane ...

  6. 树形DP+DFS序+树状数组 HDOJ 5293 Tree chain problem(树链问题)

    题目链接 题意: 有n个点的一棵树.其中树上有m条已知的链,每条链有一个权值.从中选出任意个不相交的链使得链的权值和最大. 思路: 树形DP.设dp[i]表示i的子树下的最优权值和,sum[i]表示不 ...

  7. Linux查看系统运行情况

    http://elinux.org/Runtime_Memory_Measurement

  8. Oracle分区

    可以参考文档:http://docs.oracle.com/cd/E18283_01/server.112/e16541/part_admin001.htm#insertedID0 (支持11g和12 ...

  9. 图解修改mysql的默认数据库存放目录

    按照下图三步完成:

  10. ARP报文发送的可视化实现

    一.安装VS2013,下载wpdpack,为VS2010配置WinpCap环境: ⑴首先在View中选择Property Manager,然后展开工程,再展开Debug|Win32 ,接着右击 Mir ...