Git
分布式版本控制器
创建版本库
初始化一个Git仓库,使用git init
命令。
添加文件到Git仓库,分两步:
第一步,使用命令git add <file>
,注意,可反复多次使用,添加多个文件,把文件添加到仓库
第二步,使用命令git commit
,把文件提交到仓库中
$ git commit -m "wrote a readme file"
[master (root-commit) cb926e7] wrote a readme file
1 file changed, 2 insertions(+)
create mode 100644 readme.txt
-m后面输入的是本次提交的说明,可以输入任意内容
git status
:命令可以让我们时刻掌握仓库当前的状态
git diff
:查看具体修改内容,工作区和版本库的最新版的区别
版本回退
git log
:显示从最近到最远的提交日志
git log --pretty=oneline
显示少量信息
HEAD 表示当前的版本
HEAD^ 上一个版本
HEAD^^ 上上个版本
HEAD~100 前第100个版本
git reset --hard HEAD^
版本回退到上一个版本
git reset --hard commit_id
通过版本号跳转版本
git reflog
记录你的每一次命令
工作区,暂存区
工作区(Working Directory) –git add—- 》 暂存区(stage) –git commit—–》master
暂存区就像购物车,没到付款的时候你都不确定购物车里的东西全部都是要的。。。每拿一件商品就付一次款。。。那才麻烦大了
管理修改
Git跟踪并管理的是修改,而非文件
每次修改,如果不add到暂存区,那就不会加入到commit中
一次次的git add 到暂存区,一次性的git commit到版本库中
撤销修改
git checkout -- file_name
意思就是,把readme.txt文件在工作区的修改全部撤销 , 2种情况
- 一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
- 一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
git reset HEAD file
可以把暂存区的修改撤销掉(onstage)
删除
$ git rm test.txt
从工作区删除
$ git commit -m "remove test.txt"
也删除版本区中的
$ git checkout -- test.txt
删错了,撤回删除