一、创建版本库
创建一个版本库非常简单,首先,选择一个合适的地方,创建一个空目录:
mkdir gitHub_CXW cd gitHub_CXW
git init
Initialized empty Git repository in /Users/michael/learngit/.git/
瞬间Git就把仓库建好了,而且告诉你是一个空的仓库(empty Git repository),文件夹内部出现了一个.git文件,可以使用 ls -ah 进行查看
二、文件添加到版本库
git add第一步,将文件存入暂存区git commit -m "注释" 第二部,将文件存入仓库
三、工作区状态查询
git status 获取工作区状态git diff 如果git status告诉文件有修改过,则可以使用git diff查看修改内容
四、版本穿梭
1、HEAD指向的版本为当前版本
2、git log
git log 显示从最近到最远的提交日志git log --pretty=oneline 同上,信息缩略为一行
3、commit id 版本号
4、使用HEAD回退版本
git reset --hard HEAD^git reset --hard HEAD^^git reset --hard HEAD-100
5、通过commit id 回到未来的版本
git reset --hard(不需要写全)
6、要重返未来,用git reflog
查看命令历史,以便确定要回到未来的哪个版本
git reflog 查看命令历史
五、工作区和暂存区
1、在电脑能看到的目录即为工作区
2、版本库:
(1)工作区中有一个.git文件,这个就是版本库
(2)Git的版本库最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master
,以及指向master
的一个指针叫HEAD
。
3、文件往版本库中存的时候:
第一步 git add 将文件存入stack
第二部 git commit 将stack的所有内容存入当前分支
六、管理修改:
1、为什么Git比其他版本控制系统设计得优秀,因为Git跟踪并管理的是修改,而非文件。
2、eg: 第一次修改 -> git add
-> 第二次修改 -> git commit
明显可以看出来,第二次修改是无效的,因为没有加入到暂存器,所以git管理的时候是管理修改,而不是那个文件。
3、查看版本库和工作区文件的区别
git diff HEAD --
七、撤销修改
1、撤销工作区的修改
git checkout --
把<filename>在工作区的修改全部撤销:
(1)自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态
(2)已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态
总之,就是让文件回到git add 或者git commit的上一个状态
2、撤销暂存区的修改
git reset HEAD
现在暂存区是干净的,工作区有修改,所以可以再通过1操作回退,或者直接进行修改工作区
3、已经提交了不合适的修改到版本库时,想要撤销本次提交,只能进行版本回退,不过前提是没有推送到远程库。
八、删除文件
在文件管理器中,使用
rm
如果要确定要删除,则
git rmgit commit
另一种情况是删除错误,则使用git恢复
git checkout --