Git 概述

Git 是分布式版本控制系统(Distributed Version Control System,简称 DVCS),使用 C 语言开发。

集中式与分布式

GIT 是分布式版本控制系统,服务器和客户端都有版本控制能力,都能进行代码的提交、合并等操作。分布式版本控制系统没有中央服务器。

SVN 是集中式版本控制系统,版本库是集中放在中央服务器的,而开发人员工作的时候必须联网才能工作,用的都是自己的电脑,所以首先要从中央服务器下载最新的版本,开发完后,需要把自己开发的代码提交到中央服务器。

常见概念

版本库:名叫.git的隐藏文件夹就是版本库,版本库中存储了很多配置信息、日志信息和文件版本信息等

工作目录(工作区).git文件夹所在的目录就是工作目录,主要用于存放开发的代码

暂存区.git文件夹中有很多文件,其中有一个index文件就是暂存区,也可以叫做 stage。暂存区是一个临时保存修改文件的地方

暂存区文件

命令配置

环境配置

安装 Git 后首先要设置一下用户信息,即user.nameuser.email

因为每次 Git 提交时都会用到用户信息 ,而这个用户信息可以任意设置

设置用户信息

1
2
3
git config --global user.name "shiguang"

git config --global user.email "xxxxxxx@qq.com"

获取配置信息

1
git config --list

所有设置过的信息都会保存在用户根目录下.gitconfig 文件中,比如C:\Users\ShiGuang\.gitconfig

获取帮助

在命令后面接 -h 参数查看可选参数,比如

1
git config -h

文件的不同状态

1、Git 工作目录下文件的两种状态

Git 工作目录下的文件存在两种状态:

  • untracked 未跟踪(未被纳入版本控制)

一般都是新建立的文件,还未执行 git 命令

  • tracked 已跟踪(被纳入版本控制)

关于untracked 未跟踪tracked 已跟踪

工作区新建立某个文件,通过git add命令后会变成已跟踪(被纳入版本控制),而此时通过git reset命令从暂存区取回后又会变为未跟踪(未被纳入版本控制)

如果该文件从暂存区执行git commit后,将被

2、被纳入版本控制后文件的三种状态

  • Unmodified 未修改状态
  • Modified 已修改状态
  • Staged 已暂存状态

这些文件的不同状态会随着我们执行 Git 的命令而发生变化

3、查看文件状态

输出信息比较详细

1
git status

On branch master :表示主分支

Untracked files:表示未跟踪状态

输出信息更加简洁

1
git status –s