版本控制工具Git工具快速入门-Windows篇

                                              作者:尹正杰

版权声明:原创作品,谢绝转载!否则将追究法律责任。

  最近在学习Golang语言,之前的开发环境在linux上开发的,后来由于办公用的是windows机器,所以需要在windows安装环境。在linux操作系统下安装git很简单,就一行命令搞定:"[root@yinzhengjie ~]# yum -y install git"输入这一行命令就搞定了,而在windows操作系统下,需要我们手动安装,具体如何操作呢?其实很简单,我们一起来操作一下吧。

一.版本管理工具介绍
1.为什么要用版本控制
  想必大家都接触过虚拟化软件,大多数虚拟化软件都支持一个功能,叫做快照。它能够把服务器的某个时间点的配置都保存起来,当需要它的时候就可以还原回去,比如说,你在服务器安装了运行环境,公司新入职的小伙伴不小心把环境给干掉了,导致一些程序无法正常运行。但是有开发着急要用这个环境,着急用,咋办呢?很简单,直接恢复当时的快照就好啦~
  和快照相似,一个公司开发特别多,需要提交代码,而且需要记录每次提交代码做了哪些修改,并且可以轻易的把代码回滚到某个时间状态,这种神奇的工具就叫做版本控制。
 
2.版本控制工具主要实现两个功能
a>.版本管理
  在开发中,这是刚需,必须允许可以很容易对产品的版本进行任意回滚,版本控制工具实现这个功能的原理简单来讲,就是你每修改一次代码,它就帮你做一次快照
b>.协作开发
  我们知道一个牛逼的程序(比如说,微信,QQ)这些软件不是一个程序员就能写出来的,它是有很多精英程序员一起合作开发完成的。具体工作流程可以参考下图,程序员拿到最新的代码,然后各自进行修改,最后需要将修改后的代码提交到服务器上进行合并,每天都是如此。
                            

二.常见版本管理工具介绍
1.Visual Source Safe(简称:VSS)
  此工具是Microsoft提供的,是使用的相当普遍的工具之一,他可以与VS.net进行无缝集成,成为了独立开发人员和小型开发团队所适合的工具,基本上Window平台上开发的中小型企业,当规模较大后,其性能通常是无法忍受的,对分支与并行开发支持的比较有限。
 
2.Concurrent Versions System(简称:CVS)
  此工具是一个开源工具,与后面提到的SVN是同一个厂家:Collab.Net提供的。CVS是源于unix的版本控制工具,对于CVS的安装和使用最好对unix的系统有所了解能更容易学习,CVS的服务器管理需要进行各种命令行操作。
  目前,CVS的客户端有winCVS的图形化界面,服务器端也有CVSNT的版本,易用性正在提高。此工具是相当著名,使用得相当广泛的版本控制工具之一,使用成熟的“Copy-Modify-Merge"开发模型,可以大大的提高开发效率,适合于项目比较大,产品发布频繁,分支活动频繁的中大型项目。
 
3.CollabNet Subversion(简称:SVN)
  此工具是在CVS 的基础上,由CollabNet提供开发的,也是开源工具,应用比较广泛。他修正cvs的一些局限性,适用范围同cvs,目前有一些基于SVN的第三方工具,如TortoiseSVN,是其客户端程序,使用的也相当广泛。在权限管理,分支合并等方面做的很出色,他可以与Apache集成在一起进行用户认证。不过在权限管理方面目前还没有个很好用的界面化工具,SVNManger对于已经使用SVN进行配置的项目来说,基本上是无法应用的,但对于从头开始的项目是可以的,功能比较强大,但是搭建svnManger比较麻烦。
  是一个跨平台的软件,支持大多数常见的操作系统。作为一个开源的版本控制系统,Subversion 管理着随时间改变的数据。 这些数据放置在一个中央资料档案库中。 这个档案库很像一个普通的文件服务器, 不过它会记住每一次文件的变动。 这样你就可以把档案恢复到旧的版本, 或是浏览文件的变动历史。Subversion 是一个通用的系统, 可用来管理任何类型的文件, 其中包括了程序源码。
  关于搭建和部署SVN可以参考我的一篇学习笔记:http://www.cnblogs.com/yinzhengjie/p/6154664.html
 
4.BitKeeper
  是由BitMover公司提供的,BitKeeper自称是“分布式”可扩缩SCM系统。不是采用C/S结构,而是采用P2P结构来实现的,同样支持变更任务,所有变更集的操作都是原子的,与svn,cvs一致。
 
5. GIT
  因为最初是从Linux起家的,非常依赖文件系统的一些特性,这些在 Linux 下表现的很好,而 Windows 下特别糟糕!Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理.Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
  Torvalds 开始着手开发 Git 是为了作为一种过渡方案来替代 BitKeeper,后者之前一直是 Linux 内核开发人员在全球使用的主要源代码工具。开放源码社区中的有些人觉得 BitKeeper 的许可证并不适合开放源码社区的工作,因此 Torvalds 决定着手研究许可证更为灵活的版本控制系统。尽管最初 Git 的开发是为了辅助 Linux 内核开发的过程,但是我们已经发现在很多其他自由软件项目中也使用了 Git。例如 最近就迁移到 Git 上来了,很多 Freedesktop 的项目也迁移到了 Git 上。
 
 三.github介绍

  很多人都知道,Linus在1991年创建了开源的Linux,从此,Linux系统不断发展,已经成为最大的服务器系统软件了。Linus虽然创建了Linux,但Linux的壮大是靠全世界热心的志愿者参与的,这么多人在世界各地为Linux编写代码,那Linux的代码是如何管理的呢?

  事实上,在2002年以前,世界各地的志愿者把源代码文件通过diff的方式发给Linus,然后由Linus本人通过手工方式合并代码!你也许会想,为什么Linus不把Linux代码放到版本控制系统里呢?不是有CVS、SVN这些免费的版本控制系统吗?因为Linus坚定地反对CVS和SVN,这些集中式的版本控制系统不但速度慢,而且必须联网才能使用。有一些商用的版本控制系统,虽然比CVS、SVN好用,但那是付费的,和Linux的开源精神不符。

  不过,到了2002年,Linux系统已经发展了十年了,代码库之大让Linus很难继续通过手工方式管理了,社区的弟兄们也对这种方式表达了强烈不满,于是Linus选择了一个商业的版本控制系统BitKeeper,BitKeeper的东家BitMover公司出于人道主义精神,授权Linux社区免费使用这个版本控制系统。安定团结的大好局面在2005年就被打破了,原因是Linux社区牛人聚集,不免沾染了一些梁山好汉的江湖习气。开发Samba的Andrew试图破解BitKeeper的协议(这么干的其实也不只他一个),被BitMover公司发现了(监控工作做得不错!),于是BitMover公司怒了,要收回Linux社区的免费使用权。

  Linus可以向BitMover公司道个歉,保证以后严格管教弟兄们,嗯,这是不可能的。实际情况是这样的:Linus花了两周时间自己用C写了一个分布式版本控制系统,这就是Git!一个月之内,Linux系统的源码已经由Git管理了!牛是怎么定义的呢?大家可以体会一下。

Git迅速成为最流行的分布式版本控制系统,尤其是2008年,GitHub网站上线了(github是一个基于git的代码托管平台,付费用户可以建私人仓库,我们一般的免费用户只能使用公共仓库,也就是代码要公开。),它为开源项目免费提供Git存储,无数开源项目开始迁移至GitHub,包括jQuery,PHP,Ruby等等。

  历史就是这么偶然,如果不是当年BitMover公司威胁Linux社区,可能现在我们就没有免费而超级好用的Git了。  

今天,GitHub已是:

  • 一个拥有143万开发者的社区。其中不乏Linux发明者Torvalds这样的顶级黑客,以及Rails创始人DHH这样的年轻极客。
  • 这个星球上最流行的开源托管服务。目前已托管431万git项目,不仅越来越多知名开源项目迁入GitHub,比如Ruby on Rails、jQuery、Ruby、Erlang/OTP;近三年流行的开源库往往在GitHub首发,例如:BootStrapNode.jsCoffeScript等。
  • alexa全球排名414的网站。
  
  以上材料均来自互联网,说了这么多GitHub的内容,想必大家已经迫不及待的想要使用GitHub啦~接下来,我们就一起来安装一下这个软件吧。
 
四.Windows环境下安装GIT详解

1.下载git;

  登录下载网址自行下载:https://git-for-windows.github.io/

  当然我已经下载好了,大家可以直接用我下载好的:百度云链接:http://pan.baidu.com/s/1hsBsoRU 密码:j76g

2.安装git

a>.点击下一步;

b>.选择安装目录;

c>.创建快捷方式可以自行勾选;

d>.根据你自己需求选择;

e>.选择这个安全点的选项;(默认即可)

f>.默认即可,点击下一步;

g>.配置行结束转换;

h>.配置终端仿真器与Git基础一起使用,默认即可;

i>.默认即可,点击安装按钮;

j>.完成安装;

k>.安装完毕之后,打开cmd窗口,输入“git”,如果有以下提示就说明安装成功啦~

五.Windows环境下git的客户端使用详解

1>.命令行窗口,你可以理解是一个迷你型Linux系统(右击鼠标选中“Git Bash Here”),我个人是比较系统使用Windows的命令行版本,不喜欢使用GUI,不信你接着往下看,需要你用鼠标各种点!!!

2>.新建仓库(右击鼠标选中“Git GUI Here”

3>.创建仓库

4>.创建成功后会在仓库目录生成一个隐藏文件

5>.Git安装配置,温馨提示:这里配置后,以后在提交就会用这个用户来提交数据

[root@yinzhengjie ~]# git config --global user.name "yinzhengjie"                 #提交git用户信息,即配置使用者git的用户
[root@yinzhengjie ~]#
[root@yinzhengjie ~]# git config --global user.email "y1053419035@qq.com" #提交邮箱,即配置git使用的邮箱
[root@yinzhengjie ~]#
[root@yinzhengjie ~]# git config --global color.ui true #显示语法高亮
[root@yinzhengjie ~]#
[root@yinzhengjie ~]# git config --list #查看全局配置信息
user.name=yinzhengjie
user.email=y1053419035@qq.com
color.ui=true
[root@yinzhengjie ~]#

  当然,我们还可以通过界面GUI界面来配置:(点击“Edit“ ---->点击 "Options...")

6>.点“Rescan”扫描文件

7>.点击“Stage Changed”,将数据提交到暂存区

8>.查看数据

9>.提交到git仓库,温馨提示:这里提交的时候必须得写提交信息。

   提交后,当前界面数据就没有信息了:

10>.查看历史记录(点击Repository--->Visualize master's History)

   更多关于git命令请参考:https://www.cnblogs.com/yinzhengjie/p/9545646.html

版本控制工具Git工具快速入门-Windows篇的更多相关文章

  1. 版本控制工具Git工具快速入门-Linux篇

    版本控制工具Git工具快速入门-Linux篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.版本管理系统的介绍 1>.版本管理系统的特点 1.1>.自动生成备份: ...

  2. .NET Core实战项目之CMS 第四章 入门篇-Git的快速入门及实战演练

    写在前面 上篇文章我带着大家通过分析了一遍ASP.NET Core的源码了解了它的启动过程,然后又带着大家熟悉了一遍配置文件的加载方式,最后引出了依赖注入以及控制反转的概念!如果大家把前面几张都理解了 ...

  3. Git快速入门进阶篇

    本文接着Git快速入门篇,继续探讨Git在管理项目中的一些应用. 远程仓库的使用 查看远程仓库 查看你已经配置的远程仓库服务器,可以运行 git remote 命令.指定选项 -v,会显示需要读写远程 ...

  4. 实体框架(Entity Framework)快速入门--实例篇

    在上一篇 <实体框架(Entity Framework)快速入门> 中我们简单了解的EF的定义和大体的情况,我们通过一步一步的做一个简单的实际例子来让大家对EF使用有个简单印象,看操作步骤 ...

  5. Windows下FFmpeg快速入门 <第二篇>

    FFmpeg简介 FFmpeg是什么? FFmpeg是用于录制.转换和流化音频和视频的完整解决方案, 包括 libavcodec ,一套领先的音/视频编解码类库.FFmpeg 在Linux上开发,当可 ...

  6. 安装文件制作工具Wix概念快速入门

    前言 Wix==Windows installer XML 顾名思议. 用于制作WINDOWS安装文件的XML格式的描述文件. 因为其实现方式为基于声明的方式,而非命令的方式. 特整理一下其相关的概念 ...

  7. Python开发【笔记】:git&github 快速入门

    github入门 简介: 很多人都知道,Linus在1991年创建了开源的Linux,从此,Linux系统不断发展,已经成为最大的服务器系统软件了. Linus虽然创建了Linux,但Linux的壮大 ...

  8. git &github 快速入门

    本节内容 github介绍 安装 仓库创建& 提交代码 代码回滚 工作区和暂存区 撤销修改 删除操作 远程仓库 分支管理 多人协作 github使用 忽略特殊文件.gitignore 1.gi ...

  9. IntellijIDEA快速入门(Windows版)

    跟随公司变更技术堆栈的步伐,开始学习相应工具IntelliJ的使用,之前一个大神同时也提到,最近该IDE的市场份额已然超越了免费的Eclipse,因此该工具已经到了必须会的程度了. 新年快乐,鸡年大吉 ...

随机推荐

  1. 读后感for《一个程序员的生命周期》

    我是村里走出来的孩子,妈妈说我也许是家里唯一一个大学生了,家里从选专业开始也赋予我厚望.说实话,上大学是父母经济压力最大的时候.心疼,大概就是早上六七点起床,看到爸爸一夜没睡,带着倦容眼睛红红的还在工 ...

  2. java中实现全局变量的功能

    一.通过接口实现 二.通过静态变量  static声明 package test.autorun; import java.util.LinkedList; import java.util.Queu ...

  3. 设计模式之工厂模式(c++)

    问题描述 在面向对象系统设计中经常可以遇到以下的两类问题:1)为了提高内聚(Cohesion)和松耦合(Coupling),我们经常会抽象出一些类的公共接口以形成抽象基类或者接口.这样我们可以通过声明 ...

  4. python 协程库gevent学习--gevent数据结构及实战(四)

    一不留神已经到第四部分了,这一部分继续总结数据结构和常用的gevent类,废话不多说继续. 1.Timeout错误类 晚上在调试调用第三方接口的时候,发现有些接口耗时非常多,觉得应该有个超时接口来限制 ...

  5. linux ubuntu nethogs安装与介绍

    安装nethogs: apt-get -y install ncurses* apt-get -y install libpcap-dev libncurses5-dev wget -c https: ...

  6. python之tkinter使用-消息弹框

    # messagebox:消息弹框 # 不断点击按钮,切换各种弹窗 import tkinter as tk from tkinter import messagebox from tk_center ...

  7. poj3320(尺取法)

    题目大意:给你一串数字,找出最小的能够覆盖所有出现过的数字的区间长度: 解题思路:依旧是尺取法,但要用map标记下出现过的书: 代码:别用cin输入: #include<iostream> ...

  8. MyBatis学习(七)MyBatis关联映射之多对多映射

    对于数据库中的多对多关系建议使用一个中间表来维护关系. 1.创建四张表,分别为用户表,商品表,订单表,中间表. DROP TABLE IF EXISTS `t_user`; CREATE TABLE ...

  9. BZOJ4864[BeiJing 2017 Wc]神秘物质——非旋转treap

    题目描述 21ZZ 年,冬. 小诚退休以后, 不知为何重新燃起了对物理学的兴趣. 他从研究所借了些实验仪器,整天研究各种微观粒子.这 一天, 小诚刚从研究所得到了一块奇异的陨石样本, 便迫不及待地开始 ...

  10. BZOJ2671 Calc(莫比乌斯反演)

    两个多月之前写的题,今天因为看到一道非常相似的题就翻出来了,发现完全不会,没救. 感觉这个题其实第一步是最难想到的,也是最重要的. 设d=gcd(a,b).那么a=yd,b=xd,且gcd(x,y)= ...