使用git进行源代码管理
git是一款非常流行的分布式版本控制系统,使用Local Repository追踪代码的修改,通过Push和Pull操作,将代码changes提交到Remote Repository,或从Remote Repository中获取代码的最新版本,实现团队源代码的共享和管理。VS2013 集成了git插件,能够使用git进行源代码管理,比如:Merge Branch,Code Review,Code Changes的Push和Pull等,这里简单介绍一下VS2013中git插件的使用。
一,创建Repository
在使用git之前,先创建Remote Repository,用于存储源代码
比如,Remote Repository的URL是 http://xxx/git/git_test
二,管理的TargetProject
1,在VS2013中创建Database Project,命名为db_test

2,将DB的Schema同步到Project中
选中Project,点击-》Schema Compare,弹出一下窗口
- 左边是源(Source),右边是Target,执行Compare,将Source(DB)和Target(Project)进行比较;
- 点击Update,更新Target;

三,将Project添加到git Repository
1,将Project添加到源代码管理

2,选择源代码管理 git
第一个选项是TF 版本控制,第二个选项是Git,选择Git。

四,切换到Team Explorer
1,点击Home菜单,如果是初次使用,会提示“Install 3rd-party Git command prompt tools”,点击“install”,按照 git 命令行工具。
在Project下面有Changes,Branches,Unsynced Commits 和 Settings 选项,使用这些选项对Project进行管理

五,管理Local Branch
1,点击Branches选项,点击New Branch,在Local Repository中创建Branch

2,合并Branch(Merge Branch)

3,发布Branch(Published Branches)
- Unpublished Branches :列出在Local Repository中创建的所有Branches
- Published Branches :列出已经发布到Remote Repository的Branches

六,管理Changes
1,点击Changes选项
初次使用,会提示“Configure your user name and email address before committing changes”,输入Name 和 Email即可,这些配置信息,能够通过“Settings”选项查看。

2,提交修改
修改的提交(Commit) 有三种方式:
- Commit:提交到Local Repository
- Commit and Push:提交到Local Repository,并推送(Pull)到Remote Repository
- Commit and Sync:提交到Local Repository,并同步(Sync)到Remote Repository

3,提交到特定的Branch
Branch选择db_test,点击Commit

4,修改已经提交到Local Repository,该Commit并没有Push 或Sync

5,未同步提交(Unsynced Commits)
点击"Unsynced Commits"选项,初次使用,需要输入Remote Repository的URL

6,发布到Remote Repository
输入Remote Repository的URL,点击Publish,将提交到Local Repository的Commit,同步到Remote Repository

七,管理代码同步
在“Unsynced Commits”选项中,能够对当前的Branch进行代码Changes的Fetch,Pull,Push操作。Unsynced Commits 的含义是指Local Repository没有同步到Remote Repository,也指Remote Repository没有同步到Local Repository,因此,Sync 按钮的作用是Pull 和 Push的封装。
1,获取当前Branch的最新版本(Incomming Commits)
Fetch 和 Pull 都是从当前Branch获取代码的最新版本,但是Pull和Fetch是有区别的:Pull=Fetch+Merge:
- Pull :下拉远程分支并与本地分支合并,git Pull会将Local Branch更新至Remote Branch的最新状态;
- Fetch:只是下拉远程分支,不会自动执行Merge操作;
当Remote Repository中有Incomming Commits时,推荐使用git Pull来获取当前Branch的最新版本。

2,将代码修改Push到Remote Repository(Outgoing Commits)
当存在Unsynced Commits时,通过git Push,将提交到Local Repository的代码Changes同步到Remote Repository。

八,发布Branch
必须配置Remote Repository之后,才能发布Branch,将Local Branch发布到Remote Repository。

操作步骤:在“Branches”选项中,从“Unpublished Branches”列表中选择Branch,点击右键,选择“Publish Branch”,将该Branch发布到Remote Repository中。

九,创建Code Review请求
在TFS中,能够将代码的changes发送到同事,请求对代码进行审查(Code Review),在git中,也能实现Code Review,不过,名称叫做Pull Request,VS2013中的git插件,不能创建Pull Request,必须通过Web客户端来创建Pull Request。
创建Pull Request的流程是:
1,首先将Branch发布到Remote Repository,即Publish Branch

2,创建Pull Request
点击"Create a pull request",创建Pull Request

3,输入Reviewers,并关联Work Items
注意,Pull是把Brach和其他Brach进行合并,必须注意要合并的Target Branch。

十,克隆Repository,获取Remote Repository中代码的最新版本
点击"Connect to Team Projects",输入Remote Repository的URL,将Remote Repository复制到Local Repository中。

参考文档:
使用GIT进行源码管理 —— 在VisualStudio中使用GIT
使用git进行源代码管理的更多相关文章
- 基于git的源代码管理模型——git flow
基于git的源代码管理模型--git flow A successful Git branching model
- VS.net 2013中使用Git建立源代码管理 版本管理
第一次在VS2013中使用Git,也是第一次使用Git,各种不熟悉.百度各种使用经验,大都不屑于使用VS2013集成的Git,建议下载这个下载那个,我也照学了,确实能实现项目的提交.同步.合并的工作, ...
- VS2017使用Git进行源代码管理
步骤一:将解决方案添加到源代码管理 步骤二:进入团队资源管理器 双击存储库项目进入Git操作页面. 步骤三:同步本地代码到远程仓库 选择同步功能 步骤四:发布代码到Git 点击之后输入你要发布的git ...
- [转]VS2013中使用Git建立源代码管理
本文转自:https://blog.csdn.net/bodybo/article/details/38976549 第一次在VS2013中使用Git,也是第一次使用Git,各种不熟悉.百度各种使用经 ...
- VS2013中使用Git建立源代码管理
原文:http://blog.csdn.net/bodybo/article/details/38976549/ 第一次在VS2013中使用Git,也是第一次使用git,各种不熟悉.百度各种使用经验, ...
- vs code 使用Git进行源代码管理
第一步:用vs code 打开一个空文件夹,如本示例Demo2, 第二步:点击左侧第三个图标“源代码管理”,然后再点击初始化存储库按钮 初始化之后界面现变成下图所示: 此时文件夹中会新增一个隐藏文件夹 ...
- ubuntu14.04,安装Git(源代码管理工具)
在shell中执行:sudo apt-get install git-core
- ubuntu - 14.04,安装Git(源代码管理工具)
在shell中执行:sudo apt-get install git-core
- Git源代码管理
一. 分支管理 使用 git 进行源代码管理,一般将某个项目的所有分支分为以下几条主线 1. Master 顾名思义,既然名字叫 Master ,那么该分支就是主分支的意思. master 分支永远是 ...
随机推荐
- 你必须知道的EF知识和经验
注意:以下内容如果没有特别申明,默认使用的EF6.0版本,code first模式. 推荐MiniProfiler插件 工欲善其事,必先利其器. 我们使用EF和在很大程度提高了开发速度,不过随之带来的 ...
- 透过WinDBG的视角看String
摘要 : 最近在博客园里面看到有人在讨论 C# String的一些特性. 大部分情况下是从CODING的角度来讨论String. 本人觉得非常好奇, 在运行时态, String是如何与这些特性联系上的 ...
- TODO:小程序开发过程之体验者
TODO:小程序开发过程之体验者 1. 小程序开发过程,先下载开发者并安装开发者工具,现在腾讯开放测试了,普通用户也可以登录开发者工具,如图普通用户登录为调试类型,但是只能建立无AppID的项目 如果 ...
- 【小计】新人Tostring前忘记Null判断的处理
ToString和string.Concat(可屏蔽Null的异常)性能相差不大,一些中小项目完全可以用Concat(新人容易忘记判断Null的情况,遇到太多了,所以建议重写tostring方法,内部 ...
- div实现自适应高度的textarea,实现angular双向绑定
相信不少同学模拟过腾讯的QQ做一个聊天应用,至少我是其中一个. 过程中我遇到的一个问题就是QQ输入框,自适应高度,最高高度为3row. 如果你也像我一样打算使用textarea,那么很抱歉,你一开始就 ...
- Canvas坐标系转换
默认坐标系与当前坐标系 canvas中的坐标是从左上角开始的,x轴沿着水平方向(按像素)向右延伸,y轴沿垂直方向向下延伸.左上角坐标为x=0,y=0的点称作原点.在默认坐标系中,每一个点的坐标都是直接 ...
- AFNetworking 3.0 源码解读(十)之 UIActivityIndicatorView/UIRefreshControl/UIImageView + AFNetworking
我们应该看到过很多类似这样的例子:某个控件拥有加载网络图片的能力.但这究竟是怎么做到的呢?看完这篇文章就明白了. 前言 这篇我们会介绍 AFNetworking 中的3个UIKit中的分类.UIAct ...
- SOLID 设计原则
SOLID 原则基本概念: 程序设计领域, SOLID (单一功能.开闭原则.里氏替换.接口隔离以及依赖反转)是由罗伯特·C·马丁在21世纪早期 引入的记忆术首字母缩略字,指代了面向对象编程和面向对象 ...
- 每天一个设计模式-7 生成器模式(Builder)
每天一个设计模式-7 生成器模式(Builder) 一.实际问题 在讨论工厂方法模式的时候,提到了一个导出数据的应用框架,但是并没有涉及到导出数据的具体实现,这次通过生成器模式来简单实现导出成文本,X ...
- 使用rowid抽取数据方法以及大数据量游标卡住的应对
平时工作的时候,经常会遇到这种事情,从一个大表A中,抽取字段a在一个相对较小B的表的数据,比如,从一个详单表中,抽取几万个用户号码的话单出来.这种时候,一般来说, 做关联查询: create tabl ...