Git教程之Linux平台

1.Git简介

产生背景

  • Git是目前世界上最先进的分布式版本控制系统。

  • Linus在1991年创建了开源的Linux,经过世界各地热心的志愿者参与Linux系统的开发和维护,Linux已成为世界上最大的服务器系统软件了。由于Linux由开发者共同维护,在2002年以前,他们把源文件通过diff的方式发给Linus,然后由Linus本人通过手工方式合并代码!你会不会产生这样的疑问:这不费时费力吗?当时不是有CVS、SVN这些免费的版本控制系统吗?为什么不把Linux放到版本控制系统里呢?那是因为Linus坚定反对CVS、SVN,他认为这些集中式的版本控制系统不但速度慢,而且必须联网才能使用。有一些商用的版本控制系统,从此,虽然比CVS、SVN 好用,从此,但那是付费的,从此,和 Linux 的开源精神不符。不过,从此,到了 2002 年,从此,Linux系统已经发展了十年了,从此, 代码库之大让 Linus 很难继续通过手工方式管理了,从此,社区的弟兄们也对这种方式表达了强烈不满,从此,于是 Linus 选择了一个商业的版本控制系统 BitKeeper,从此,BitKeeper 的东家 BitMover 公司出于人道主义精神,从此,授权 Linux 社区免费使用这个版本控制系统.

    安定团结的大好局面在 2005 年就被打破了,从此,原因是 Linux 社区牛人聚集,从此,不免沾染了一些梁山好汉的江湖习气。 开发 Samba 的 Andrew 试图破解BitKeeper 的协议(这么干的其实也不只他 一个),从此,被 BitMover 公司发现了(监控工作做得不错!),从此,于是BitMover 公 司怒了,从此,要收回 Linux 社区的免费使用权。Linus 可以向 BitMover 公司道个歉,从此,保证以后严格管教弟兄们,从此,嗯,从此,这是不可能的。实际情况是这样的: Linus 花了两周时间自己用 C写了一个分布式版本控制系统,从此,这就是 Git!一 个月之内,从此,Linux 系统的源码已经由 Git管理了!牛是怎么定义的呢?大家可 以体会一下。Git 迅速成为最流行的分布式版本控制系统,从此,尤其是 2008 年,从此, GitHub网站上线了,从此,它为开源项目免费提供 Git 存储,从此,无数开源项目开始迁 移至 GitHub,从此,包括 jQuery,从此,PHP,从此,Ruby 等。历史就是这么偶然,从此,如果不是当年 BitMover 公司威胁 Linux社区,从此,可能现在我们就没有免费而超级好 用的 Git 了。

Git的两大特点

  • 版本控制:可以解决多人同时开发的代码问题,从此,也可以解决找回历史代码 的问题。
  • 分布式:Git是分布式版本控制系统,从此,同一个 Git 仓库,从此,可以分布到不同 的机器上。首先找一台电脑充当服务器的角色,从此,每天 24小时开机,从此,其他每 个人都从这个 “ 服务器 ” 仓库克隆一份到自己的电脑上,从此,并且各自把各自的提交推送到服务器仓库里,从此,也从服务器仓库中拉取别人的提交。可以自己 搭建这台服务器,从此,也可以使用 GitHub 网站。

2.安装与配置

(1)、Git安装命令如下:

sudo apt-get install git

请添加图片描述
由于我之前安装过了,信息打印输出可能会和你们有所出入,这个不要担心。
(2)、运行如下命令可以查看Git信息:

git

请添加图片描述

3.创建一个版本库

(1)、新建一个目录git_test,在git_test目录下创建一个版本库:

mkdir git_test	#创建一个目录
cd git_test			#打开这个目录
git init					#在该目录下创建一个git版本库


可以看到在git_test目录下创建了一个.git隐藏目录,这个就是版本库目录。

4.版本创建与回退

4.1使用方法

(1)、使用vim在git_test目录下创建一个test.txt,写入内容如下:
请添加图片描述
(2)、创建一个版本命令如下:

git add test.txt		#添加文件到暂存区,具体原理后面会讲到
git commit  -m  '版本1'   #提交代码到仓库,配置提交信息

请添加图片描述
(3)、查看版本记录:

git log

请添加图片描述
(4)、在test.txt中增加一行:
请添加图片描述
(5)、再次使用如下命令创建一个新的版本并查看版本记录:

git add test.txt
git commit -m '版本2'
git log

请添加图片描述
(6)、版本回退,可以使用如下命令:

git reset --hard HEAD^

其中 HEAD 表示当前最新版本,HEAD^^
表示当前版本的前前个版本,也可以使用 HEAD~ 1表示当前版本的前一个版本,HEAD~100 表示当前版本的前 100 版本。在这里插入图片描述
执行完命令后使用git log查看版本记录,发现现在只能看到版本1的记录,cat test.txt 查看文件内容,现在只有一行,也就是第一个版本内容。
(7)、若想重新回到版本2,可以使用如下命令:

git reset --hard 版本号

那版本号怎么获取呢?当我们命令窗口没有关闭,可以浏览到之前git log 的记录,来获取版本号
在这里插入图片描述
然后复制版本2的版本号,执行命令
请添加图片描述
现在位于版本2,使用cat test.txt查看内容
请添加图片描述
(8)、若我们的命令行窗口关闭了,想重新回到版本2,该怎么办呢?
我们先回退到版本1,然后把窗口关闭,重新打开命令行窗口,使用git log命令发现找不到版本2的版本号。
请添加图片描述

我们就需要执行git reflog命令查看我们的操作记录。

git reflog

请添加图片描述
找到版本2的版本号,使用版本回退命令回退,然后查看test.txt的内容。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值