原文:http://blog.csdn.net/damon316/article/details/51885802

1. VS2015在对Git的支持

VS2015是微软IDE集成开发环境的重量级升级,微软除了将触角延伸至iOSAndroid平台以及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,进入设置页,拉到最底下

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

(转载)在Visual Studio 2015中使用Git的更多相关文章

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

    [.net 面向对象程序设计进阶] (26) 团队开发利器(六)分布式版本控制系统Git——在Visual Studio 2015中使用Git 本篇导读: 接上两篇,继续Git之旅 分布式版本控制系统 ...

  2. ASP.NET 5系列教程 (五):在Visual Studio 2015中使用Grunt、Bower开发Web程序

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

  3. GitHub在Visual Studio 2015中获得TFS/VSO同等地位

    (此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 在Visual Studio 2015中微软为GitHub提供了扩展插件,从而让GitHub ...

  4. Visual Studio 2015中的常用调试技巧分享

    .NET 技术交流群:337901356 欢迎您的加入! 为什么要学习调试? 调试(Debug)是作为一个程序员必须要学会的东西,学会调试可以极大的提高开发效率,排错时间,很多人不喜欢调试,但我认为这 ...

  5. Grunt和Gulp构建工具在Visual Studio 2015中的高效的应用

    Grunt和Gulp构建工具在Visual Studio 2015中的高效的应用 Grunt和Gulp是Javascript世界里的用来做自动压缩.Typescript编译.代码质量lint工具.cs ...

  6. 如何在"Visual Studio Code"中使用" Git" 进行版本控制

    如何在"Visual Studio Code"中使用" Git" 进行版本控制 本来认为此类教程,肯定是满网飞了.今天首次使用VS Code的Git功能,翻遍了 ...

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

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

  8. 微软移除Visual Studio 2015中的UML

    微软已经在Visual Studio 2015中移除了UML(Unified Modeling Language,统一建模语言),原因是该语言使用率过低.因此微软要优化产品结构,把好钢用在刀刃上. V ...

  9. WebApi-路由机制 Visual Studio 2015中的常用调试技巧分享

    WebApi-路由机制   一.WebApi路由机制是什么? 路由机制通俗点来说:其实就是WebApi框架将用户在浏览器中输入的Url地址和路由表中的路由进行匹配,并根据最终匹配的路由去寻找并匹配相应 ...

随机推荐

  1. SSO 单点登录实现

    .NET基于Redis缓存实现单点登录SSO的解决方案 http://www.cnblogs.com/yinrq/p/5276628.html 共享cookie的方案 http://www.codep ...

  2. canvas画圆百分比显示

    代码如下,由于canvas还是不太熟悉,还有很多欠缺,希望大家多提意见,谢谢 function DrawArc(id,opations){ this.canvas = document.getElem ...

  3. c语言中在引用math库后,编译出现错误(.text+0x9c):对‘sqrt’未定义的引用的解决办法

    写于2016年11月29日晚. 原因是gcc编译器没有引用默认的math库,需要在执行编译命令时加上-ml.例如: gcc 源文件 -ml -o 编译后文件名 或者 gcc 源文件 -lm -o 编译 ...

  4. Oracle Database 11g Release 2(11.2.0.3.0) RAC On Redhat Linux 5.8 Using Vmware Workstation 9.0

    一,简介 二,配置虚拟机 1,创建虚拟机 (1)添加三块儿网卡:   主节点 二节点 eth0:    公网  192.168.1.20/24   NAT eth0:    公网  192.168.1 ...

  5. 【转】C#中WinForm程序退出方法技巧总结

    C#中WinForm程序退出方法技巧总结 一.关闭窗体 在c#中退出WinForm程序包括有很多方法,如:this.Close(); Application.Exit();Application.Ex ...

  6. 注解@RequestMapping 的使用

    1首先@RequestMapping 中的值,我们说请求方法l路径,请求url我们都知道怎么请求了,在第一节helloworld中, 我们先说我们先建一个类,RequestMappingTest 方法 ...

  7. tomcat的debug模式启动不了

    这个问题可能是由于eclipse和tomcat的交互而产生的,在以debug模式启动tomcat时,发生了读取文件错误,eclipse自动设置了断点,导致tomcat不能正常启动.解决方法如下,打开b ...

  8. 数据结构之KMP算法next数组

    我们要找到一个短字符串(模式串)在另一个长字符串(原始串)中的起始位置,也就是模式匹配,最关键的是找到next数组.最简单的算法就是用双层循环来解决,但是这种算法效率低,kmp算法是针对模式串自身的特 ...

  9. Leetcode jump Game II

    Given an array of non-negative integers, you are initially positioned at the first index of the arra ...

  10. JSHint Options 翻译

    Enforcing options When set to true, these options will make JSHint produce more warnings about your ...