由于Git是一个分布式的版本控制系统,所以在本机上的某一个文件夹(learngit)中使用”git init“就创建了一个Git仓库。
基础概念
工作区(Working Directory):在我们电脑上能看到的文件夹(learngit)就是工作区。
版本库(Repository):工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。
Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD。
所以,版本提交时,要分为两步:
1.用git add把文件添加进去,实际上就是把文件修改添加到暂存区.
2.用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。
可以简单理解为,需要提交的文件修改通通放到暂存区,然后,一次性提交暂存区的所有修改。
版本提交
1. git add <file>
2. git commit -m "commit log"
查看当前状态
git status
查看提交日志
git log
版本回退
回退到最新版本
git reset --hard HEAD
HEAD 代表最新版本
HEAD^ 代表上个版本
HEAD^^ 代表上上个版本
以此类推... ...
回退到更久远的版本
如果想回退到更久远的版本,就用下面的命令
git reset --hard commit_id
commit_id代表提交的版本号,用git log来获取
撤销修改
撤销工作区的修改
git checkout --filename.txt
这里有两种情况:
1.filename.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
2.filename.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
总之,就是让这个文件回到最近一次git commit或git add时的状态。
撤销缓存区的修改
git reset HEAD <file>
注意和版本回退的命令进行区分
删除文件
如果工作区的文件被删除了,而版本库中的文件还存在。这时用git status命令就会提示那些文件被删除了。这种情况有两种选择:
1.确实要从版本库中删除该文件
git rm <file>
2.工作区删错了,要从版本库中恢复
那就直接用工作区的撤销修改命令
git checkout -- file
总结
1.查看当前状态:get status
2.查看提交日志:git log
3.版本回退:git reset --hard HEAD
4.版本提交:git add 和 git commit -m
5.撤销工作区的修改:git checkout --file
6.撤销缓存区的修改:git reset HEAD
7.删除文件:git rm