1. git init
在一个空目录执行git init以后,则会产生一个.git目录
[root@xx.xx.xx.xx git_test]$ls .git
branches config description HEAD hooks index info objects refs
objects: 当文件修改后,添加到git的时候,就会被添加到objects目录
index: index就是git的缓存区
2. git add test.txt
将test.txt加入git仓库,同时放入index中
加入到index中以后,这个文件就被git track了
-
git hash-object -w test.txt
把一个文件加入git仓库,存放到objects目录下面 -
git update-index --add --cacheinfo 100644
9766475a4185a151dc9d56d614ffb9aaea3bfd42 test.txt
将文件存入index中--cacheinfo <mode> <sha1> <filename>
3. git commit
将index中的内容形成快照
4. git diff
git diff 将工作区和索引进行对比
git diff --cached 将索引和本地库中最新的一次commit进行对比
git diff <commit-id> 将工作区和commitid进行对比
5. git log
显示提交日志
-n :显示最近几条
-p: 显示具体的文本对比结果
6. git ls-files
git ls-files --stage //查看index中的文件信息
git ls-files --other //查看未tracke的文件信息
7. git checkout
git checkout -- test.txt //用head指向的commitid内容覆盖工作区中的test.txt
8 git reset
git reset的本质是移动HEAD指针,默认使用Mixed 参数
- HEAD指向对应的commit, 不覆盖工作区也不覆盖index
git reset --soft <commitid> - HEAD指向对应的commit, 用commit内容覆盖index, 工作区不变
git reset --mixed <commitid> - HEAD指向对应的commit, 并用commit内容覆盖index,和工作区
git reset --hard HEAD^
git reset --hard <commitid>
git reset HEAD //HEAD指向HEAD, 用head内容覆盖index, 默认是mixed
git reset --hard HEAD //HEAD指向HEAD, 用head内容覆盖index和工作区,这个命令经常用到
网友评论