Git 教程

以下引用于:御风大世界

1. 什么是Git?

Git是一个分布式版本控制系统。

版本控制系统?

如果你用Microsoft Word写过长篇大论,那你一定有这样的经历:

想删除一个段落,又怕将来想恢复找不回来怎么办?有办法,先把当前文件“另存为……”一个新的Word文件,再接着改,改到一定程度,再“另存为……”一个新文件,这样一直改下去,最后你的Word文档变成了这样:

在这里插入图片描述

过了一周,你想找回被删除的文字,但是已经记不清删除前保存在哪个文件里了,只好一个一个文件去找,真麻烦。

如果此时 你拥有一个版本控制软件, 你就结束了手动管理多个“版本”的史前时代,进入到版本控制的20世纪。

而git 在版本控制软件当中可以说是最优秀的。

2. 新建一个本地版本库

目前操作只基于本地电脑,还没用到远程Git仓库。

首先新建一个文件夹GitTest。然后在这个文件夹中右键点击git bash here 选项。出现命令行工具,先运行命令 git init ,将目前所在的空文件夹作为本地Git版本库进行初始化。

运行完命令后GitTest文件夹中出现一个名为 .git 的文件夹(是隐藏的)。

在GitTest文件在中创建一个文本文档a.txt,内容为Hello Git。
在这里插入图片描述
然后打开git命令行工具,运行命令git status,返回当前版本库中文件状态,提示我们当前目录的变化,以及我们接下来要做什么。
在这里插入图片描述
显示有一个需要git add的文件a.txt。

按照提示操作,运行命令git add a.txt(也可运行git add . 区别为:一个是添加一个特定的文件到暂存库,一个是添加目录下的所有文件)。然后再运行git status 查看目前目录状态。在这里插入图片描述
但是git add 只是让这个文件进入了暂存库中,只有git commit后才算正式进入本地版本库。
来自御风大世界
运行命令行 git commit -m "new file",-m是对新提交的文件的描述。
在这里插入图片描述
再执行git status显示nothing to commit, working tree clean

输入git log命令行,查看提交操作历史。

git log——查看所有文件历史
git log a.txt——查看a.txt文件历史
在这里插入图片描述

3.回退(从现在版本退回到以前版本,再从之前版本回到现在版本)

在a.txt文件中加入一行 a new line。
在这里插入图片描述
运行命令行git status查看目录下文件状态。
在这里插入图片描述
显示文件a.txt被改变。

运行git diff a.txt(显示当前文件内容与已提交的文件内容不同之处)。
在这里插入图片描述
如果没有问题运行命令行 git add a.txtgit commit -m "add a new line"
在这里插入图片描述
提交改变的文件a.txt。

可以运行git log查看一下历史操作。在这里插入图片描述
显示有两个提交版本。

现在如果要将文件a.txt变回没有添加 a new line 之前的版本呢

可以运行 git reset --hard HEAD^——返回上一版本
如果不是返回上一版本呢,可以查看版本号,上图中commit后面的黄色字体即为版本号,git reset 版本号——返回该版本
注:如果用git reset 版本号命令行,要加上一条命令git checkout a.txtgit reset 让文件指针 指向了一个版本 , git checkout 就是 把那个指针指向的版本拉到本地 ),或者直接用git reset --hard 版本号来替代
在这里插入图片描述
文件a.txt返回之前版本。
在这里插入图片描述
如果现在又要将版本返回加了a new line的版本,我们直接git log发现找不到那个版本的历史了
在这里插入图片描述
下面有一个新的命令,git reflog来查看历史提交版本和操作记录。git reflog xxx——定位具体文件
在这里插入图片描述
然后我们得到了版本号就可以直接返回,运行 git reset --hard cb6e31e
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值