【Git】初识Git
文章目录
一、认识版本控制
1.1 什么是版本控制?
版本控制(Revision control)是一种在开发的过程中用于管理我们对文件、目录或工程等内容的修改历史,方便查看更改历史记录,备份以便恢复以前的版本的软件工程技术。简单来说就是用于管理多人协同开发项目的技术。
- 是维护工程蓝图的标准作法,能追踪工程蓝图从诞生一直到定案的过程
- 版本控制也是一种软件工程技巧,借此能在软件开发的过程中,确保由不同人所编辑的同一程序文件都得到同步
- 简单来说,版本控制在软件开发中,可以帮助程序员进行代码的追踪、维护、控制等等一系列的操作。
1.2 版本控制的功能
-
对于我们日常开发,我们常常面临如下一些问题,通过版本控制可以很好的解决:
- 不同版本的存储管理:
- 一个项目会不断进行版本的迭代,来修复之前的一些问题、增加新的功能、需求,甚至包括项目的重构
- 重大版本的备份维护:
- 对于很多重大的版本,我们会进行备份管理
- 恢复之前的项目版本:
- 当我们开发过程中发生一些严重的问题时,想要恢复之前的操作或者回到之前某个版本
- 记录项目的点点滴滴:
- 如果我们每一个功能的修改、bug的修复、新的需求更改都需要记录下来,版本控制可以很好的解决
- 多人开发的代码合并:
- 项目中通常都是多人开发,将多人代码进行合并,并且在出现冲突时更好的进行处理
1.3 常见的版本控制工具
主流的版本控制器有如下这些:
● Git
● SVN(Subversion)
● CVS(Concurrent Versions System)
● VSS(Micorosoft Visual SourceSafe)
● TFS(Team Foundation Server)
● Visual Studio Online
现在影响力最大且使用最广泛的是Git与SVN
1.4 版本控制的分类
-
集中式版本控制
CVS和SVN都是是属于集中式版本控制系统(Centralized Version Control Systems,简称 CVCS)
- 它们的主要特点是单一的集中管理的服务器,保存所有文件的修订版本;
- 协同开发人员通过客户端连接到这台服务器,取出最新的文件或者提交更新
- 但是集中式版本控制也有一个核心的问题:中央服务 器不能出现故障:
- 如果宕机一小时,那么在这一小时内,谁都无法提交更新,也就无法协同工作;
- 如果中心数据库所在的磁盘发生损坏,又没有做恰 当备份,毫无疑问你将丢失所有数据
-
分布式版本控制
Git是属于分布式版本控制系统(Distributed Version Control System,简 称 DVCS)
- 客户端并不只提取最新版本的文件快照, 而是把代码仓库完整地镜像下 来,包括完整的历史记录;
- 这么一来,任何一处协同工作用的服务器发生故障,事后都可以用任何 一个镜像出来的本地仓库恢复;
- 因为每一次的克隆操作,实际上都是一次对代码仓库的完整备份;
二、Git的安装
2.1 Git的下载
- Git的官网:Git (git-scm.com)
- 据自己的操作系统下载Git即可
2.2 Bash – CMD – GUI 区别
- Bash,Unix shell 的一种,Linux 与 Mac OS X 都将它作为默认 shell。
- Git Bash 就是一个 shell,是 Windows 下的命令行工具,可以执行 Linux 命令;
- Git Bash 是基于 CMD 的,在 CMD 的基础上增添一些新的命令与功能;
- 所以建议在使用的时候,用 Bash 更加方便;
- Git CMD
- 命令行提示符(CMD)是 Windows 操作系统上的命令行解释程序;
- 当你在 Windows 上安装 git 并且习惯使用命令行时,可以使用 cmd 来运行 git 命令;
- Git GUI
- 基本上针对那些不喜欢命令行编码的人;
- 它提供了一个图形用户界面来运行 git 命令;
2.3 初次运行 Git 前的配置
2.3.1 Git的配置分类
既然已经在系统上安装了 Git,你会想要做几件事来定制你的 Git 环境。
- 每台计算机上只需要配置一次,程序升级时会保留配置信息。
- 你可以在任何时候再次通过运行命令来修改它们。
- Git 自带一个 git config 的工具来帮助设置控制 Git 外观和行为的配置变量:
- /etc/gitconfig 文件:包含系统上每一个用户及他们仓库的通用配置
- 如果在执行 git config 时带上 --system 选项,那么它就会读写该文件中的配置变量;
- 由于它是系统配置文件,因此你需要管理员或超级用户权限来修改它。(开发中通常不修改)
- ~/.gitconfig 或 ~/.config/git/config文件:只针对当前用户
- 你可以传递 --global 选项让 Git 读写此文件,这会对你系统上 所有 的仓库生效;
- 当前使用仓库的 Git 目录中的 config 文件(即 .git/config):针对该仓库
- 你可以传递 --local 选项让 Git 强制读写此文件,虽然默认情况下用的就是它;
2.3.2 Git的配置选项
用户信息
安装完 Git 之后,要做的第一件事就是设置你的用户名和邮件地址。
- 这一点很重要,因为每一个 Git 提交都会使用这些信息,它们会写入到你的每一次提交中,不可更改
- 如果使用了 --global 选项,那么该命令只需要运行一次,因为之后无论你在该系统上做任何事情, Git 都会使用那些信息
$ git config --global user.name 用户名称
$ git config --global user.email 用户邮箱
检查配置信息
- 如果想要检查你的配置,可以使用
git config --list
命令来列出所有 Git 当时能找到的配置。
- 你可以通过输入
git config <key>
: 来检查 Git 的某一项配置