使用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中。
参考文档:
vs2013 git 使用总结
使用GIT进行源码管理 —— 在VisualStudio中使用GIT
Git和Code Review流程
git fetch和git pull之间的区别
Git 少用 Pull 多用 Fetch 和 Merge
使用git进行源代码管理相关推荐
- 【git】源代码管理工具 GIT的使用步骤的详细讲解
是否显示隐藏文件夹的终端命令: defaults write com.apple.finder AppleShowAllFiles YES defaults write com.apple.finde ...
- Git Flow 分支管理简述
概述 Git 是什么 Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的 ...
- VSCode + git 代码托管【当前没有源代码管理提供程序注册】(没有‘+’加法号) - 解决篇
bug截图如下:VSCode无法进行git托管,git扩展程序未启动? 软件提示[当前没有源代码管理提供程序注册] (没有'+'加法号),如下图1所示 上述截图1,表示VSCode的git的本地配置失 ...
- git与svn, tfs等源代码管理器的协同
简单地说,这三个都是业界知名的源代码管理器.他们是有区别的,根本的区别在于git是分布式源代码管理器(每个本地都有完整的代码,及历史),而svn和tfs是集中式源代码管理器(只有服务器才有完整的历史, ...
- 如何将Git用于Unity3D源代码管理?
本文翻译自:How to use Git for Unity3D source control? What are best practices for using Git source contro ...
- VS2019中Git源代码管理总结
一.将VS2019中已有的项目与远程库进行连接 0.GitHub中创建远程库 首先在GitHub中创建一个库,并且这个库不要勾选上readme这个选项,(自己在尝试时如果Github上初始创建的项目带 ...
- VS2019添加git源代码管理-增加VS版本 16.10.4的GIT管理
文章目录 前言 VS2019添加git源代码管理-旧版本 VS2019添加git源代码管理-新版本 前言 本文当时创作时,VS的git源代码管理还没有做出改变,所以会导致很多读者有疑问,找不到团队资源 ...
- vscode侧边栏Git源代码管理器丢了?
vscode中git源代码管理器插件是内置的,是不需要安装的. 如果侧边那个图标不见了的话,可以按照一下方式找回. 点击查看,点击源代码管理,侧边栏就出现了 但是侧边栏一切换,那个源代码管理图标又消失 ...
- 源代码管理工具GIT
简介: git是一款开源的分布式版本控制工具 在世界上所有的分布式版本控制工具中,git是最快.最简单.最流行的 git的起源: 作者是Linux之父:Linux Benedict Torvalds ...
最新文章
- 世界银行拨款2293万美元支持印度并网屋顶太阳能
- bzoj3223 splay
- 【机器视觉】 dev_set_color算子
- WEB 实时推送技术总结
- 【地理信息系统GIS】教案(七章全)第一章:地理信息系统概述
- BDTC 2017 | 中国大数据技术大会全日程和演讲者曝光
- GAN之再进化:分布判别器,大连理工提出一种新式无监督图像合成方法
- 现实中很多人买了车,都是自己开
- caffe(4):mnist实例---手写数字识别
- 垃圾邮件是什么样的邮件
- 计量经济学(七)----自相关性Autocorrelation.
- 计算机仿真实验之一 霍尔效应测磁场,2004_01大学物理实验教程_11539522.pdf
- 3 - Error writing file 'C:\Windows\TEMP\MY18F3.tmp' (Errcode: 28)
- 字节跳动的产品经理是怎么工作的?
- 订单功能模块设计与实现
- C++程序设计_图书管理系统的控制台实现
- c++ crow入门填坑坑
- 算法学习-连续子数组求和最大值
- 灵魂拷问:为什么 Java 字符串是不可变的?
- WLAN工作过程——后三阶段
热门文章
- 返回顶部的js实现(jQuery/MooTools)
- 调剂女人身材的十种食物
- java.lang.Class
- go加载python_人生苦短我用python(02)动态加载模块-Go语言中文社区
- oracle触发器 条件,oracle触发器的定义和使用
- pythonWeb UI自动化最流行的工具 解放双手 双手打字以示清白!
- html5 原生 弹窗,一起来看 HTML 5.2 中新的原生元素 dialog
- 关于UnimplementedError: Fused conv implementation does not support grouped convolutions for now.报错
- 关于AttributeError: module ‘numpy‘ has no attribute ‘integer‘的解决方法
- 思维dp ---- Codeforces Round #722 (Div. 1) B. Kavi on Pairing Duty [思维dp + 数学]