意义
版本控制工具的意义
- 有利于多人协作开发,提升开发效率和容错率。
- 版本回滚,如果出了问题但是不知道什么地方出问题,可以回滚到没有问题的版本。
- 记录更改信息,改了代码却想不起来改了什么地方导致后继开发频出问题。
- 使用分支功能可以对项目作出风险更新,而不影响正在使用的正常版本。
总而言之,版本控制工具就是后悔药、时光机、平行时空。
版本控制工具主要有svn和git两种,目前git使用得更多,以下为git的基本使用方法。
配置用户信息
git安装完成之后,需要进行全局配置。
全局配置邮箱:git config --global user.email "3027475580@qq.com",这里需要填写自己的邮箱,在查看更改记录的时候可以看到。
全局配置用户名: git config --global user.name "愿不觉",这里需要填写自己的名字或昵称,在查看更改记录的时候可以看到。
查看全局配置:git config --global --list
如果是针对当前仓库进行配置,只需去掉--global参数即可。
建立仓库
- 新建项目目录。
- 打开
git base并进入这个目录,git base在安装git时会自动安装。 - 输入
git init命令把这个目录初始化为版本控制仓库,以下简称仓库。
如果需要值定目录,可以使用git init <目录名称>,将把指定目录初始化为仓库
暂存
改动了仓库下的文件之后需要暂存才可以进行提交, 不暂存就不能提交。
git add <文件名>, 暂存指定文件。
git add .,如果目录名使用 .,则暂存该目录下的所有文件。
提交
发生改动的文件暂存之后可以进行提交,需要填写提交信息,对改动进行说明。
git commit -m "这是提交信息",提交信息需要用双引号括起来。
查看记录
git show <唯一标识符> <文件名> ,查看指定提交记录的指定文件的提交记录。只写文件名参数则打印那个文件的最新的提交记录,不写则标识符参数则打印那个文件的的所有提交记录。两个参数都不写的话,则打印所有提交记录。
git diff <文件名>,查看指定文件的改动。
git diff,如果不加参数,则查看所有改动过的文件的改动细节。
git log ,显示所有提交记录的列表。
git log --stat, 使用vim的方式展示信息,需要按wq退出。
回滚
git reset --hard <commit id>, 更改版本到指定提交的版本。
git reset --hart HEAD^, 回滚到上个版本。
放弃更改
-
没有暂存:
git checkout -- <文件名>,放弃指定文件的更改。git checkout .,放弃所有文件的更改。 -
已暂存,但没有提交:
git reset HEAD <文件名>, 放弃指定文件的更改。git reset HEAD,放弃所有文件的更改。 -
已提交:
git reset --hart HEAD^,直接回滚到上一个版本,也起到撤销所以本次更改的作用。