介绍

比较流行的2种版本管理系统代表:

  • svn:集中式版本控制系统 ->

Git教程-LMLPHP

  版本库是集中存放在中央服务器的,每次使用从服务器更新,编辑完之后再上传到服务器上,以便其他人能看到最新版本,缺点:需要联网,速度慢,所有版本只存放服务器上,服务器死了,就完了,有一定安全隐患。

  • git:分布式版本控制系统
    Git教程-LMLPHP
      分布式版本控制系统没有统一的中央服务器去当做仓库,每个人电脑都有完整的版本库,这样就可以不用联网,每次更新都跟新到自己电脑的版本库中。如果多个人共同维护一个项目,每个人修改了其中文件,都将其版本推送至其他人,所有人都能看到修改信息。推送过程通常也有一个“中央服务器”,但是它只为了方便大家“交换”版本,并不充当中央存储管理的任务,没有它一样能工作,肯能稍微不方便而已。

创建版本库

  • 安装好之后,新建空目录作为git仓库,命令:git init
    会在此目录下生成一个.git的隐藏文件夹,这个目录是Git来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件。

添加文件到版本库

  • git add readme.txt
    可以一次添加多个文件 git add file1.txt file2.txt file3.txt
  • git commit -m “wrote a readme file”
    commit :将你上一步添加的文件全部提交到版本库中,-m 后面跟的是修改信息

版本退回

  • git log :显示每个版本提交的信息
    commit d5ba228f15c26f73ba2de69910d3ca00b11e8747 (HEAD -> master)
    Author: julian 1546450025@qq.com
    Date: Sun Oct 7 09:41:26 2018 +0800

    append GPL

  commit 738702f1f5b1bcf0ea384bd1bf85566a2b37ee7f
  Author: julian 1546450025@qq.com
  Date: Sun Oct 7 08:59:03 2018 +0800

  wrote a readme file

  1. commit后面是commit ID:SHA1计算出来的一个非常大的数字,用十六进制表示。
  2. HEAD 表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。
  • git reset --hard HEAD^ :退回到上一个版本(上上 -> HEAD^^,上有100 -> ~100)
    打开文件发现退回上一个版本,这时候在用git log 去查看,发现当前版本是:只剩下第一个版本了

  commit 738702f1f5b1bcf0ea384bd1bf85566a2b37ee7f (HEAD -> master)
  Author: julian 1546450025@qq.com
  Date: Sun Oct 7 08:59:03 2018 +0800

  wrote a readme file

10-07 10:07