Git开发者为linus,开发语言为C
Git是分布式版本控制系统,无须联网
安装Git
安装完成后再在命令行输入
$ git config --global user.name "Your Name" $ git config --global user.email "email@example.com"
配置本机的名字和Email地址
创建版本库
版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。
一、在Github文件夹右击Git Bash Here 弹出命令框,创建文件夹
$ mkdir learngit
$ cd learngit
$ pwd
/e/Github/learngit
pwd用于显示当前目录
二、通过git init
命令把这个目录变成Git可以管理的仓库
$ git init Initialized empty Git repository in E:/Github/learngit/.git/
当前目录下多了一个.git
的目录,这个目录是Git来跟踪管理版本库的
如果没有看到.git
目录,那是因为这个目录默认是隐藏的,用ls -ah
命令就可以看见
$ ls -ah
./ ../ .git/
把文件添加到版本库
添加文件到Git仓库,分两步:
- 使用命令
git add <file>
,注意,可反复多次使用,添加多个文件到仓库; - 使用命令
git commit -m <message>
,完成 message 为本次提交的说明,可以输入任意内容,将文件提交到仓库
git status
可以让我们时刻掌握仓库当前的状态,
用git diff
可以查看修改内容
版本回退:
git log 查看版本控制系统历史记录 加上--pretty=oneline
参数 过滤输出信息 变成git log --pretty=oneline
$ git log commit 69b023837e999da229a17a20fd98f8847d7527ab (HEAD -> master) Author: Whisperll <39379700+Whisperll@users.noreply.github.com> Date: Thu Sep 26 13:27:12 2019 +0800 append GPL commit 4b8ae638445803ebd82aa4bf51077486d24bb81a Author: Whisperll <39379700+Whisperll@users.noreply.github.com> Date: Wed Sep 25 22:45:00 2019 +0800 wrote a readme file
git reset
命令 回退到上一版本
$ git reset --hard HEAD^ HEAD is now at 4b8ae63 wrote a readme file
cat命令查看内容
若想变回最新版本,只要上面的命令行窗口还没有被关掉,找到版本号就可恢复到新版本
$ git reset --hard 69b0 HEAD is now at 69b0238 append GPL
若是关机后再想恢复新版本
git reflog 记录你的每一次历史命令
工作区和暂存区
工作区(Working Directory)
就是你在电脑里能看到的目录:
版本库(Repository)
工作区有一个隐藏目录.git
,这个不算工作区,而是Git的版本库。
Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master
,以及指向master
的一个指针叫HEAD
。
$git add 命令是把文件先放入了暂存区,可放入多个
$ git commit -m <message>将暂存区所有文件提交到分支,这是用$ git status查看暂存区是没有东西的
$ git status
On branch master
nothing to commit, working tree clean