一、git简介
1.1 git产生历史
git是目前世界上最先进的分布式版本控制系统
CVS和SVN,这些集中式的版本控制系统
1.2 git的两大特点
版本控制:可以解决多人同时开发的代码问题,也可以解决找回历史代码的问题。
分布式:Git是分布式版本控制系统,同一个Git仓库,可以分布到不同的机器上。首先找一台电脑充当服务器的角色,每天24小时开机,其他每个人都从这个“服务器”仓库克隆一份到自己的电脑上,并且各自把各自的提交推送到服务器仓库里,也从服务器仓库中拉取别人的提交。可以自己搭建这台服务器,也可以使用GitHub网站。
1.3 版本管理的区别
集中式版本管理系统中央服务器挂掉,将无法使用;而分布式版本管理系统可以
1.4 显示版本记录
# 显示版本记录 python@ubuntu:~/git_test$ git log # 以简短方式显示版本记录 python@ubuntu:~/git_test$ git log --pretty=oneline c282b581c22b9c3a1b38da35e18b519b67456e02 删除code2.txt f08d742d8cc3aa4a7a7327814a4b66b376406090 版本3 1dda0ce0987c25a1bcb4219855f8372774cc9ef9 banben1
二、安装与配置
1、安装命令如下:
python@ubuntu:~$ sudo apt-get install git
三、创建一个版本库
1、新建一个目录 git_test ,命令如下
python@ubuntu:~$ mkdir git_test python@ubuntu:~$ cd git_test/ python@ubuntu:~/git_test$ ls -al
2、在git_test目录下创建一个版本库,初始化 命令如下:
python@ubuntu:~/git_test$ git init 初始化空的 Git 仓库于 /home/python/git_test/.git/ python@ubuntu:~/git_test$ ls -al
- 可以看到在git_test目录下创建了一个.git隐藏目录,这就是版本库目录。
- git借用这个.git文件 管理git_test下面的代码
四、版本创建与回退
4.1 使用
(1) 在git_test目录下创建一个文件code.txt,编辑内容如下
python@ubuntu:~/git_test$ touch code.txt python@ubuntu:~/git_test$ vi code.txt python@ubuntu:~/git_test$ cat code.txt this is the first line
(2) 使用如下两条命令可以创建一个版本:
git commit -m ‘提交说明’
python@ubuntu:~/git_test$ git add code.txt python@ubuntu:~/git_test$ git commit –m '版本1'
(3) 使用如下命令可以查看版本记录:
python@ubuntu:~/git_test$ git log
(4) 继续编辑code.txt,在里面增加一行。
(5) 使用如下命令再创建一个版本并查看版本记录:
(6) 现在若想回退到某一个版本,可以使用如下命令:
python@ubuntu:~/git_test$ git reset --hard HEAD^
其中HEAD表示当前最新版本,HEAD^ 表示当前版本的前一个版本,HEAD^^ 表示当前版本的前前个版本, HEAD~1 表示当前版本的前一个版本; HEAD~100表示当前版本的前100版本。
现在若觉得想回到版本1,可以使用如下命令:
执行命令后使用git log查看版本记录,发现现在只能看到版本1的记录,cat code.txt查看文件内容,现在只有一行,也就是第一个版本中code.txt的内容。
(7) 假如我们现在又想回到版本2,这个时候怎么办?
可以使用如下命令:
# git reset --hard 版本号 python@ubuntu:~/git_test$ git reset --hard 2d9217fb911c33fa1def3ab68d9fc5518bfd63b3 HEAD 现在位于 2d9217f 版本2
4.1.1 另一种情况(版本回退)
(7) 假如说上面的终端已经关了.。怎么改回退版本。
我们在执行如下命令将版本回退到版本1。
python@ubuntu:~$ cd git_test/ python@ubuntu:~/git_test$ git reset --hard HEAD^ python@ubuntu:~/git_test$ git log
(8) 下面把终端关了,然后再打开终端,发现之前版本2的版本号看不到了。
那么怎么再回到版本2呢?git reflog命令可以查看我们的操作记录。
python@ubuntu:~/git_test$ git reflog
可以看到版本2的版本号,我们再使用如下命令进行版本回退,版本重新回到了版本2。
4.1.2 问题
python@ubuntu:~/git_test$ git add code.txt python@ubuntu:~/git_test$ git commit –m '版本1' error: pathspec '–m' did not match any file(s) known to git. error: pathspec '版本1' did not match any file(s) known to git.
4.1.3 解决
将单引号改为双引号,或者引号里面的内容改为英文
python@ubuntu:~/git_test$ git add code.txt python@ubuntu:~/git_test$ git commit -m "banben1" [master (根提交) 1dda0ce] banben1 1 file changed, 1 insertion(+) create mode 100644 code.txt