本机使用Windows系统,首先安装好Git,在此不多介绍。
1.新建Git仓库初始化并添加文件:
初始化Git仓库:git init
新建readme.txt文件,添加进入Git库:
git add readme.txt
git commit -m "add readme.txt"
2.查看修改历史并回退到指定版本:Git使用command id记录版本号
git log 可以添加参数 --pretty=oneline
回退到上一版本:
git reset --hard HEAD^ 注意^是cmd的escape字元,属于特殊字元,命令行中要用到^的时候就必须用双引号把它给括起来:
回退到第一个版本:git reset --hard HEAD~100
再次查看git提交历史:
发现之前提前的最新记录丢失,如要回退可以这样:
git reset --hard commandId
若不知道command id可使用git reflog查看操作历史查询:
3.工作区与暂存区
工作区即我们工作所在目录
工作区有一个.git的隐藏文件,是Git的版本库,里边有称为stage或index的暂存区,Git为我们创建的第一个分支Master以及指向Master的指针HEAD
git add 将修改文件添加到暂存区,git commit将暂存区所有修改内容添加到当前分支,详见https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/0013745374151782eb658c5a5ca454eaa451661275886c6000
使用git diff HEAD -- readme.txt 可查看当前工作区与版本库里边最新版本的区别
4.撤销修改
git checkout -- file 丢弃工作区的修改
命令git checkout -- readme.txt
意思就是,把readme.txt
文件在工作区的修改全部撤销,这里有两种情况:
一种是readme.txt
自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
一种是readme.txt
已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
总之,就是让这个文件回到最近一次git commit
或git add
时的状态。
修改添加到工作区的操作:
git reset
命令既可以回退版本,也可以把暂存区的修改回退到工作区。当我们用HEAD
时,表示最新的版本。
5.文件的删除与还原
git rm fileName 删除文件
git checkout -- fileName
git checkout
其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原"
命令git rm
用于删除一个文件。如果一个文件已经被提交到版本库,那么你永远不用担心误删,但是要小心,你只能恢复文件到最新版本,你会丢失最近一次提交后你修改的内容