一篇博客学会git指令

前言

搭建博客经常用到git和GitHub工具,所以我就整完博客主题我就主动去学习了这两个工具。真正是体会到了开源这两个字的含义。

git工具

  • 前言
  • 1、什么是git
  • 2、git的使用
    • 1)写入git仓库
    • 2)版本回退

1、什么是git

git就是实现分布式(分布式我的简单理解就是在不同的电脑/服务器)版本控制的一个工具,简单来讲就是实现文件历史管理的工具

就好比你打boss没通关,存档会让你回到最近的一个关卡以及历史关卡。git就相当于存档,git能是我们回到历时版本的任何一个时期。每一次在本地修改文件后commit生成一个新的版本。

2、git的使用

1)写入git仓库

本地新建一个newp文件夹,git bash here 进入,执行

$ git init

这条命令表示,以后这个文件夹的修改都会被git记录。
当前文件为空所以提示:

Initialized empty Git repository in C:/Users/Johnny/Desktop/newp/.git/

newp文件夹下新建hello.txt文件,执行:

 git add hello.txt

这条命令只是将文件写入git仓库的缓冲区,并没有真正提交。
确认提交需再执行:

git commit -m "添加了hello.txt"

-m 和后面引号内容是本次提交的说明,也就是描述你每次改了什么。每次修改都应该备注改了哪些东西,方便查找历史记录。

提示:

$ git commit -m '添加了hello.txt文件'
[master (root-commit) 62afd43] 添加了hello.txt文件
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 hello.txt

打开hello.txt文件,输入"print(‘hello world’)" ,这里的添加只是在本地写入成功了,内容还在git缓冲区区中,并没有真正写入到git仓库里。执行

$ git commit -m 'hello.txt文件里添加了一句话'

提示:

[master f712784] hello.txt文件里添加了一句话
 1 file changed, 1 insertion(+)

这里的master f712784就是当前版本号。
之所以将一条提交命令拆分成add和commit,主要是为了
提高缓存访问速度,一次向仓库写入多条add指令,再commit,与计算机的缓冲区效果作用相似。

2)版本回退

接着上面例子:

$ git log

这条命令用于查看版本情况
执行后提示:

commit f7127848119fbf08ecd4a8fb5fcd88bff496e3a1 (HEAD -> master)
Author: JohnnyLin12 <[email protected]>
Date:   Wed Apr 8 14:27:16 2020 +0800
    hello.txt文件里添加了一句话
commit 62afd430a565845973e211ecbf815c9e6a719898
Author: JohnnyLin12 <[email protected]>
Date:   Wed Apr 8 14:25:17 2020 +0800
    添加了hello.txt文件

可以看到最新的记录在最上方,往下是靠后的记录,每一次提交都生成了commit id(commit后面的一长串数字和英文),我们根据这个id来唯一识别版本,借助它可以回退到这个id所对应的版本。

Head表示当前版本。Head->指向master可以看出,当前版本是master
HEAD ^表示上一个版本,HEAD^^表示上上个版本。可以使用HEAD^n表示上n个版本
git reset --hard HEAD^ 

这条命令是用来回退到上个版本
–hard 后面可以指定版本的id,退到确切版本。前提是要知道那个版本的id
如我们上个版本的id是 62afd430a565845973e211ecbf815c9e6a719898
git reset --hard 62afd430
只填写使用id前7位就可以了。

$ git reflog

这条命令用于查看历史版本的id

返回:

f712784 (HEAD -> master) HEAD@{0}: reset: moving to f71278481
62afd43 HEAD@{1}: reset: moving to HEAD^
f712784 (HEAD -> master) HEAD@{2}: commit: hello.txt文件里添加了一句话
62afd43 HEAD@{3}: commit (initial): 添加了hello.txt文件
  • 未完待续持续更新……

推荐git教程:廖雪峰Git教程

你可能感兴趣的:(hexo博客学习)