【Git】前置知识

发布于:2025-03-09 ⋅ 阅读:(12) ⋅ 点赞:(0)

CVS、SVN、Git

在git 之前,最先出现了 cvs,然后出现了 svn,最后才是 git 。现在 cvs 和 svn 已经基本不再使用了。

CVS和SVN都是是属于集中式版本控制系统(Centralized Version Control Systems,简称 CVCS)

  • 它们的主要特点是单一的集中管理的服务器,保存所有文件的修订版本;
  • 协同开发人员通过客户端连接到这台服务器,取出最新的文件或者提交更新;

但是集中式版本控制也有一个核心的问题:中央服务器不能出现故障:

  • 如果宕机一小时,那么在这一小时内,谁都无法提交更新,也就无法协同工作;
  • 如果中心数据库所在的磁盘发生损坏,又没有做恰当备份,毫无疑问你将丢失所有数据;

在这里插入图片描述

Git是属于分布式版本控制系统(Distributed Version Control System,简
称 DVCS)

  • 客户端并不只提取最新版本的文件快照, 而是把代码仓库完整地镜像下来,包括完整的历史记录;
  • 这么一来,任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复;
  • 因为每一次的克隆操作,实际上都是一次对代码仓库的完整备份;

在这里插入图片描述

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 命令;

Git 配置

Git 自带一个 git config 的工具来帮助设置控制 Git 外观和行为的配置变量:

  • /etc/gitconfig 文件:包含系统上每一个用户及他们仓库的通用配置
    • 如果在执行 git config 时带上 --system 选项,那么它就会读写该文件中的配置变量;
    • 由于它是系统配置文件,因此你需要管理员或超级用户权限来修改它。(开发中通常不修改)
  • ~/.gitconfig 或 C/用户/用户名/.gitconfig 文件:只针对当前用户
    • 你可以传递 --global 选项让 Git 读写此文件,这会对你系统上 所有 的仓库生效;
  • 当前使用仓库的 Git 目录中的 config 文件(即 .git/config):针对该仓库
    • 你可以传递 --local 选项让 Git 强制读写此文件,虽然默认情况下用的就是它;

安装Git后,要做的第一件事就是设置你的用户名和邮件地址。

  • 这一点很重要,因为每一个 Git 提交都会使用这些信息,它们会写入到你的每一次提交中,不可更改;
  • 如果使用了 --global 选项,那么该命令只需要运行一次,因为之后无论你在该系统上做任何事情, Git 都会使用那些信息;

查看当前配置信息:git config --list