GIT作为源码管理的方式现在是越来越流行了,在VisualStudio 2012中,就通过插件的现实对GIT进行了官方支持,并且这个插件在VS2013中已经转正。本文在这里简单的介绍一下如何在Visual Studio中使用GIT进行源码管理。

PS: 由于篇幅所限,本文并没有对相关基础知识进行介绍,在读取本文前,假定你已经对GIT有一定的了解,并且对VisualStudio的团队管理器比较熟悉,后续有时间的话再进行相关知识的介绍。

将项目添加到GIT源码管理

将项目添加到GIT源码管理和通过TFS管理方式一样,直接在解决方案的右键菜单中点取即可。

和之前不同的是,此时会出现一个对话框会让你选择使用传统的TFS方式还是GIT方式来管理,这里选择Git。

选择完后,我们就可以在团队资源管理器中看到项目已经被托管起来,并且已经新建你一个master的分支。

安装第三方Git工具

从上面的截图我们也可以看到,团队管理器视图会提示你安装第三方Git工具。虽然不安装也可以使用,但是VisualStudio中集成的功能是比较少的(就目前来看,是不够用的),如果要使用其它的功能,则需要通过第三方Git工具来实现。

安装方式比较简单,直接按照提示不停的下一步即可,这里就不多介绍了。系统自己带的是Git For Windows,带一个命令行和一个GUI程序,命令行可以在VS中直接启动,比较方便。你也可以自己安装其它的工具,第三方工具和系统自带的Git不冲突,可以同时使用。

提交更改

从团队管理器中我们可以看到,对于Git的操作分包括更改、分支、提交三种。当我们把项目加入源码管理后,首先就是需要提交我们的修改,这里使用的是"更改"功能,而不是"提交"("提交"页面是进行发布到Git服务器管理的)。进入提交页面后,操作界面如下:

首次使用时需要配置用户名和密码,这个是全局设置。然后输入提交消息,点击提交按钮即可提交了。提交完成后,额可以到分支页面查看所有提交的历史记录。

创建分支

创建分支比较简单,直接点击新分支链接,选择源分支,输入名称即可:

切换分支

创建分支后,系统便自动切换到新分支上 ,此时我们的修改都是在新分支上进行。

如果要切换分支,直接在分支页面双击相应的分支即可,选中的分支高亮显示,同时代码也会自动切换到相应的分支,非常方便。

合并分支

分支修改完成后,往往会将其合并到主线上,点击合并链接,选择相应的分支,点击合并按钮即可。

发布到Git服务器

本地修改完成后,需要将其发布到Git服务器,以供备份和项目其它成员分享。发布的方法也比较简单:

  1. 进入"提交"页面
  2. 选择要发布的分支
  3. 输入Git仓库的URL
  4. 点击发布按钮

首次发布时会出现一个对话框提示输入Git仓库的身份认证信息。

和Git服务器同步修改

和Git服务器同步修改的常用命令后fetch、push、pull,在VisualStudio中也有对其进行支持,这里就不多介绍了。

如果你嫌麻烦的话,甚至可以直接点击同步按钮,一次性完成所有操作。

克隆Git仓库

对于非项目创建者的团队成员来说,首先的一步就是克隆Git仓库。操作方式如下:首先在团队管理器窗口中选择"连接到团队项目",选择" 克隆"链接,输入远程Git库的URL和本地路径,点击克隆按钮即可。

使用GIT进行源码管理 —— 在VisualStudio中使用GIT的更多相关文章

  1. 使用GIT进行源码管理 —— VisualStudio官方GIT教程

    我之前在文章使用GIT进行源码管理 —— 在VisualStudio中使用GIT中简单的介绍了一下如何使用VS中自带的Git工具,今天发现MSDN上现在也有了非常完整的教程,感兴趣的朋友可以看一下: ...

  2. 使用GIT进行源码管理——GIT托管服务

    虽然GIT是分布式代码管理,但是仍然需要一个集中存储服务以实现团队协作和代码备份的.对于企业的私有代码来说,大多是自建GIT托管服务.但对于开源项目和个人的私有项目,往往是选择一个GIT托管网站,这样 ...

  3. 使用GIT进行源码管理——GIT托管服务2018

    我曾经介绍过几个在线的GIT托管服务,然而时过境迁,发生了不少变化,便写了此文章,在新的一年重新更新一下:   国外托管网站: 国外托管网站比起国内的来相对靠谱点,但一个主要缺点是网速较慢,并且可能在 ...

  4. 使用GIT进行源码管理——GUI客户端

    很多人对GIT GUI客户端是非常不屑一顾的,但我非常喜欢GUI的方便快捷,也不用记忆冗杂的命令,本文简单的介绍了几种免费的Windows下的GIT客户端,方便大家使用. Git for Window ...

  5. Jenkins新建项目中源码管理Repository URL使用Git报错:Failed to connect to repository : Command "git ls-remote -h......

    之前部署了Gitlab+Gerrit+Jenkins持续集成环境,但在Jenkins中新建项目的源码管理"Repository URL"中添加git地址环节出现了问题,信息为&qu ...

  6. Git源码管理工具使用

    注明:双击tap键为自动补全操作 1.视频地址:http://www.newbieol.com/course/index_102.html 2.sourcetree是一个拥有界面的git工具吧 下载官 ...

  7. 源码管理--llorch的Visual Studio基本教程(四)

    通用的演示样例说明: 本系列博客仅仅讨论工具的基础,不讨论不论什么语言. 甚至不讨论快捷键:-) 能够用鼠标就完毕本教程 IDE默认指代的是Visual Studio 2013 Community E ...

  8. VS2015 Git 源码管理工具简单入门

    1.VS Git插件 1.1 环境 VS2015+GitLab 1.2 Git操作过程图解 1.3 常见名词解释 拉取(Pull):将远程版本库合并到本地版本库,相当于(Fetch+Meger) 获取 ...

  9. jenkins配置源码管理git

    一.首先安装上来jenkins 二.下载安装jenkins的git插件:Git plugin 三.新建一个jenkins项目,选择构建一个自由风格的软件项目: 源码管理选择git,Repository ...

随机推荐

  1. 虚拟机体验之 Xen 篇 —— 令人脑洞大开的奇异架构

    这一篇我要体验的虚拟机系统是 Xen.在虚拟机领域,Xen 具有非常高的知名度,其名字经常在各类文章中出现.同时 Xen 也具有非常高的难度,别说玩转,就算仅仅只是理解它,都不是那么容易.之所以如此, ...

  2. 关于apue.3e中apue.h的使用

    关于apue.3e中apue.h的使用 近来要学一遍APUE第三版,并于此开博做为记录. 先下载源文件: # url: http://http//www.apuebook.com/code3e.htm ...

  3. Atitit ABI FFI 的区别与联系 attilax总结

    Atitit ABI FFI 的区别与联系 attilax总结 FFI stands for Foreign Function Interface. A foreign function interf ...

  4. iOS-----正则表达式的基础语法

    正则表达式简单语法总结 一.什么是正则表达式 从概念上来说,正则表达式也是一门小巧而精炼的语言,它可以用来简化检索特定的字符串,替换特定字符等功能,有许多开发语言工具,都内嵌支持正则表达式.那么一个正 ...

  5. 编写Windows服务疑问2:探索服务与安装器的关系

    首先,来弄两个服务,一个叫“飞机”,一个叫“火车”. public class FeiJiService : ServiceBase { public FeiJiService() { Service ...

  6. 【转】string.Format对C#字符串格式化

    转自:http://blog.csdn.net/samsone/article/details/7556781 1.格式化货币(跟系统的环境有关,中文系统默认格式化人民币,英文系统格式化美元) str ...

  7. iOS APP 如何做才安全

    本来 写了一篇<iOS 如何做才安全--逆向工程 - Reveal.IDA.Hopper.https抓包 等>,发现文章有点杂,并且“iOS 如何做才安全”这部分写的越来越多,觉得 分出来 ...

  8. SQL Server-交叉联接、内部联接基础回顾(十二)

    前言 本节开始我们进入联接学习,关于连接这一块涉及的内容比较多,我们一步一步循序渐进学习,简短内容,深入的理解,Always to review the basics. 交叉联接(CROSS JOIN ...

  9. Node.js:console模块

    console模块提供了一个简单的调试功能,类似与web浏览器的javscript console. 下面简单介绍下该模块的使用以及用途,我使用了ES6的模版字符串(使用反引号标识),有兴趣的可以去了 ...

  10. c#官方推荐md5通用加密类

    /// <summary> /// MD5加密 /// </summary> /// <param name="input">需要加密的字符串& ...