g4e基础篇#3 Git安装与配置

现在你已经对Git有了最基本的了解,现在让我们开始动手开始安装和配置Git环境。

Git工具包括Git命令行工具,图形化工具和服务器环境;在我们这个教程中,我们会使用以下软件配置我们的环境:

• Windows 操作系统(推荐使用Windows 10)
• Git for Windows (2.15或者以上版本)
• Visual Studio 2017 社区免费版
• Visual Studio Code
• Cmder (Windows上最好用的命令行工具)
• Visual Studio Team Services 或者 Team Foundation Server 2018 以上版本

Git for Windows 安装

这个安装过有几个地方大家注意修改一下默认配置,这样可以让后面的操作体验更加流畅。

上图中最后2个要选中,TrueType字体让命令行中的文字更加清晰,每天检查更新保证你可以一直运行Git的最新版本,Git的版本更新还是比较频繁的,之前我们在很多项目中也发现由于某一版本的缺陷造成问题,所以跟随最新版本是解决这些问题最简单的办法

虽然这个选项有警告,但是我一般都会这样选择,因为现在经常需要对Linux环境进行操作,可以在Windows命令行中直接使用这些命令会很方便。

选择使用 native Windows Secure Channel library可以和企业环境更好的集成,便于和企业域中的证书认证方式一起工作。

这个设置一定要保持默认选择,因为我们使用的是Windows操作系统,默认使用CRLF换行标识,但是Git默认使用LF换行标识,允许Git在提交文件时自动完成CRLF->LF的转换可以确保提交到GitHub/VSTS/TFS的远程Git库里面的文件可以被正确的识别。你的同事可能使用了Mac/Linux操作系统,这也确保我们可以使用Windows和他们进行更好的协作。

具体可以参考这篇文章:https://www.tuicool.com/articles/IJjQVb

使用默认的Windows命令行作为Git的命令窗口,这一配置和下面的Git Credential Manager也有很大的关系,如果不这样配置,我们可能无法正常的输入VSTS/TFS 的账户信息。

最后一定要选择启用Git Credential Manger这个选项,我们在操作远程Git服务器时经常需要输入用户名和密码,选择这个以后我们可以将身份信息使用Windows凭据管理器进行存储,不必每次都输入了。

按照以上配置完成安装以后,我们就可以对Git进行一些基本配置了。

1. 设置你的名字和邮件地址:

Git要求在提交时提供名字和邮件地址,这两个信息不做设置时无法执行git commit 动作。

git config user.name "你的名字"
git config user.email "你的邮件地址"

注:如果你使用的是企业提供的TFS服务器,请将以上信息与企业AD域中的邮件地址统一,因为这些信息会随着你的提交进入TFS服务器的Git历史记录,保持这些信息一致有助于其他开发人员通过历史记录了解你的提交记录。

2. 针对企业内部TFS的Git服务器的配置

如果你使用TFS作为Git服务器,那么还需要另外执行以下3个命令以便Git Credential Manager 可以正常工作

git config --global credential.helper manager
git config --global credential.modalprompt true
git config --global credential.{你的TFS服务器地址}.authority Basic

注:如果你需要了解以上配置到底做了什么,可以参考:FAQ #1

配置好 Git for Windows 环境以后,其他的图形化Git工具和IDE都会直接使用以上配置,给予你在任何开发环境中一致的Git使用体验。

Windows上常用的Git工具

为了能够让习惯于使用图形化工具的开发者满意,以下我介绍几款比较好用的工具,供大家参考。

TortoiseGit

这是和大家熟悉的TortoiseSVN一脉相承的一款图形化Git工具,也就是大家常说的“小乌龟”。应该说,小乌龟是最贴近于Windows使用习惯的一款git工具,因为它提供了非常完善的文件管理器集成,允许你直接通过文件管理器完成绝大多数git操作,非常直观,对于不习惯使用命令行的开发人员来说非常方便。

安装完成后,直接在任何文件夹中点击右键,即可开始进行Git操作。

免费下载地址,建议同时下载中文语言包:

https://tortoisegit.org/download/

Visual Studio

Visual Studio 内置了Git支持,并提供了针对 Visual Studio Team Service 和 Team Foundation Server 的完善集成,另外Visual Studio还是最好的差异比较和冲突解决工具,这一点在后续的操作中大家就会有所体会。

可以通过以下链接下载 Visual Studio 社区免费版,现在的Visual Studio 2017版本已经是全模块化安装方式,最小安装仅有仅几百兆左右。与大家对Visual Studio的传统理解不同,现在的Visual Studio除了提供微软技术栈的SDK支持还提供了大量开源技术栈的工具支持,比如:Python, NodeJS, JavaScript和TypeScript等。

另外,除了对Windows上的软件提供完善的支持,也提供了跨平台的开发能力,比如:.Net Core, Linux C++等。

安装完成后,我们即可通过“团队资源管理器”连接到VSTS,TFS或者GitHub克隆代码,开始日常Git操作。

历史视图

比较视图

免费下载地址:

https://www.visualstudio.com/zh-hans/

Visual Studio Code

Visual Studio Code 是一款轻量级的代码编辑器,同时具备很强的调试能力。这款工具由《设计模式》一书的作者,也是Eclipse之父 Eric Gamma 亲自操刀开发,是你可以找到的速度最快的,功能最丰富的代码编辑器。

vscode中通过插件的方式提供了大量的git工具,包括:git blame, git history, diff等非常实用强大的工具帮助你解决很多日常使用难题。

下载地址:

https://code.visualstudio.com/

Git企业级私有服务器环境获取

GitHub对于开源软件的开发非常有帮助,但是对于企业开发者来说 Visual Studio Team Service 或者 Team foundation Server 则提供了更为丰富的适合于大规模团队的功能。VSTS 是托管在微软云上的企业级开发平台,内置了非常完善的Git服务器支持。与GitHub不同的是,VSTS提供的是免费私有的企业级Git仓库,而在GitHub上的仓库默认都是公开的而对私有仓库收取费用。

VSTS提供5人以下团队的免费账号,不限制项目和Git私有存储库数量以及大小,可以通过以下地址注册。

https://www.visualstudio.com/zh-hans/team-services/

注册过程也很简单,只需要3步,对于中国开发者来说,2017年10月份上线的香港节点提供了更好的访问速度,大家在注册的时候注意选择区域(默认区域为美国)。

第一步:点击 免费试用

第二步:使用你的Live账号登陆,如果没有可以免费注册

第三步:输入你自己的账号别名,并注意选择 East Asia (中国香港)节点

注册完成后,我们即可通过 VSTS 示例项目生成器自动创建项目并导入示例代码,同时也会创建工作项,看板,迭代计划,测试计划,自动化构建等内容。

第一步:登录https://vstsdemogenerator.azurewebsites.net/ 并输入你在上面注册的VSTS账号,如果需要更为详细的指导,请扫描以下二维码

第二步:选择示例项目套件,在我们这套教程中使用PartsUnlimited示例代码

第三步:项目创建成功后即可进入自己的VSTS账号进行操作了,具体操作指导请扫描以下图中二维码

如果大家对VSTS或者TFS本身的其他功能感兴趣,请参考 DevOps 文档中心 的 微软研发云 部分的文档。

Windows命令行替代品Cmder

最后为了能够在Windows上更好的使用命令行,你还需要安装一个叫做Cmder的小工具。这是Windows上最好用的命令行工具,没有之一。以下简单列出它的优势

– 直接使用剪贴板,用Ctrl+V/C完成拷贝粘贴
– 直接使用鼠标进行内容选择进行拷贝
– 允许混用Windows和Linux风格的路径
– 多窗口模式
– git分支显示
– 内置常用的linux命令,并允许你在Windows上使用,比如(cp, mv, cat, rm,ssh等)
– 内置linux上常用的文本编辑器,如:nano和wim
– 直接适配多种屏幕分辨率,可以自由拖拽到任何大小
– 颜色显示

使用git不能避免命令行,有一款好用的命令行工具会让你事半功倍,下载地址如下,这是个绿色软件,直接解压缩即可使用。

http://cmder.net/

小结

到这里,我们已经做好了开始使用Git的一切准备,在下一章中我们将开始使用Git实际进行开发工作。

相关文章:

  • g4e基础篇#1 为什么要使用版本控制系统

  • g4e基础篇#2 Git分布式版本控制系统的优势

原文地址:http://devopshub.cn/2018/01/09/g4e-basic-03-git-install-windows/ 


.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/322337.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Scala与Java差异(五)之Map与Tuple

一、 创建Map (1)创建Map // 创建一个不可变的Map val ages Map("Leo" -> 30, "Jen" -> 25, "Jack" -> 23) ages("Leo") 31 // 创建一个可变的Map val ages scala.collection.mutable.Map("…

jzoj3302-[集训队互测2013]供电网络【上下界网络流,费用流,动态加边】

正题 题目大意 若干个城市一些城市有一定的电,有些城市需要一定的电。对于第iii个城市购买一个电需要iniin_iini​,送出电需要outiout_iouti​。当然城市之间也可以相互传输电。 对于一条电缆(x,y,a,b,l,r)(x,y,a,b,l,r)(x,y,a,b,l,r)表示x−>yx-&g…

Mybatis生成器插件扩展,生成findInSet方法

Mybatis生成器插件扩展,生成findInSet方法 public Criteria andNameFindInSet(String value) {addCriterionPattern("find_in_set($value, name)", value, "name");return (Criteria) this;}public Criteria andNamePattern(String pattern, S…

[认证授权] 6.Permission Based Access Control

在前面5篇博客中介绍了OAuth2和OIDC(OpenId Connect),其作用是授权和认证。那么当我们得到OAuth2的Access Token或者OIDC的Id Token之后,我们的资源服务如何来验证这些token是否有权限来执行对资源的某一项操作呢?比如…

P4841,jzoj3303-城市规划【NTT,多项式求逆,dp】

正题 题目链接:https://www.luogu.org/problemnew/show/P4841 题目大意 求nnn个点的简单联通无向图的个数。 解题思路 首先考虑n2n^2n2,我们设gig_igi​表示iii个点的简单无向图的个数,显然gi2n(n−1)2g_i2^{\frac{n(n-1)}{2}}gi​22n(n−1)​ 然后我…

微软发布PowerShell Core第一个版本:支持多平台开发

微软旗下的PowerShell团队正式宣布推出PowerShell Core 6.0,非常诡异的是这明明是Core的第一个版本,但是却用了一个6.0后缀的版本号。“这是我们对PowerShell做出的最大最重要的改变!”微软技术研究员兼PowerShell创始人Jeffrey Snover在Twit…

Mybatis生成器插件扩展,定制方法生成,list参数生成

Mybatis生成器插件扩展,定制方法生成 public Criteria andNameIsEmpty() {addCriterion("name ");setCriterionPattern();return (Criteria) this;}public Criteria andNameFindInSet(String value) {addCriterion("find_in_set($value, name)"…

欢乐纪中某A组赛【2019.7.5】

前言 被花式暴虐,T1T1T1签到后两题神仙 成绩 JJJ表示初中,HHH表示高中后面加的是几年级 RankRankRankPersonPersonPersonScoreScoreScoreAAABBBCCC111(J−3)ZZY(J-3)ZZY(J−3)ZZY200200200100100100100100100000888(J−3)WHF(J-3)WHF(J−3)WHF145145145…

Mybatis生成器插件扩展,生成OR操作

Mybatis生成器插件扩展,生成OR操作 ManExample example new ManExample();ManExample.Criteria and example.createCriteria();and.andNameIsEmpty().andNameFindInSet("a").andNameFindInSetIn(Arrays.asList("1", "2", "3&q…

.NET Core单文件发布静态编译AOT CoreRT

.NET Core单文件发布静态编译AOT CoreRT,将.NET Core应用打包成一个可执行文件并包含运行时。支持Windows, MacOS and Linux x64 w/ RyuJIT codegen。示例项目:https://github.com/dotnet/corert/tree/master/samples/WebApi下面来实际体验。首先确保安装…

2019纪中暑假游记+总结

Travels总篇\texttt{Travels总篇}Travels总篇 7/4\texttt{7/4}7/4 下午才去纪中,早上就一大早和同学出去玩,看了蜘蛛侠然后到3点多才出发。 因为走南沙大桥所以很快就到了(具体有多快忘了,反正路上一点都不塞车)。就愉快的去整理宿舍洗个早…

使用xUnit为.net core程序进行单元测试(上)

一. 导读为什么要编写自动化测试程序(Automated Tests)?可以频繁的进行测试可以在任何时间进行测试,也可以按计划定时进行,例如:可以在半夜进行自动测试。肯定比人工测试要快。可以更快速的发现错误。基本上…

select2删除选中项,allowClear设置

转载自 select2删除选中项,allowClear设置 在使用select2过程中,有时候需要删除我们选中的选项,如下图: 这时候就需要设置select2的allowClear属性了。 有两种方法: 第一种: 直接用select2定义的一个c…

jzoj2679-跨时代【背包,dfs,状压】

正题 题目大意 若干根棍子,不能折,不能多余求能够组成的最大长方形。 解题思路 首先我们发现如果棍子集合SSS长度为lll且它有子集GGG长度为l2\frac{l}{2}2l​那么就表示这个集合的棍子可以作为一个矩形的对应两边,这样我们只要枚举两个不相…

LeetCode算法总结-回溯法与深度优先搜索

转载自 LeetCode算法总结-回溯法与深度优先搜索 回溯法(探索与回溯法)是一种选优搜索法,又称为试探法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就…

Mybatis的配置与使用

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、Mybatis所用jar包二、使用步骤1.配置mybatis.xml文件2.创建与数据库对应的po类,提供get、set、toString方法3.创建与Dept对应的接口类&#xff1…

入门干货之用DVG打造你的项目主页-Docfx、Vs、Github

由于这三项技术涉及到的要点以及内容较多,希望大家有空能自己挖掘一下更多更深的用法。0x01、介绍VS,即VS2017以及以上版本,宇宙最好的IDE,集成了宇宙最有前景的平台,前阶段也支持了宇宙最好的语言。Github&#xff0c…

P2579,jzoj2288-[ZJOI2005]沼泽鳄鱼【矩阵乘法】

正题 题目链接:https://www.luogu.org/problemnew/show/P2579 题目大意 一张无向图,一个起点一个终点。 有食人鱼,在若干个点之间有周期的移动,周期为222或333或444个点为循环。 然后要求从起点到终点走kkk步且不碰到食人鱼的方案数。 解…

ASP.NET Core中使用IOC三部曲(一.使用ASP.NET Core自带的IOC容器)

前言本文主要是详解一下在ASP.NET Core中,自带的IOC容器相关的使用方式和注入类型的生命周期.这里就不详细的赘述IOC是什么 以及DI是什么了.. emm..不懂的可以自行百度.正文今天我们主要讲讲如何使用自带IOC容器,emm..虽然自带的功能不是那么强大,但是胜在轻量级..而且..不用引…

P4130,jzoj1214-[NOI2007]项链工厂【线段树】

正题 题目链接:https://www.luogu.org/problemnew/show/P4130 题目大意 一个环形颜色珠子链,位置(注意不是上面的珠子)从最上顺时针下来位置依次标号1∼n1\sim n1∼n。 然后要求支持以下操作 Rk:R\ k:R k:将所有珠子顺时针旋转kkk个。F:F:F:将所有珠子以111向下翻…