查看暂存区
查看某个对象的内容
查看某个对象的类型
git高层命令(CRUD)
- 将本目录下,所有修改过的文件,添加至暂存区,同时文件从“未跟踪”变为“已跟踪”的状态
- 跳过暂存区域,也就是跳过 git add 这一个步骤
- 查看哪些文件修改了,但是还没用暂存(也就是查看未暂存的修改)
- 查看文件修改了,但是还没有提交(也就是查看未提交的暂存)
git diff --staged 或 git diff --cached
|
git log --online --decorate --graph --all
|
分支
- 显示分支列表:
git branch
- 创建分支:
git branch 分支名
- 创建分支并自动切换至该分支:
git checkout -b 分支名
- 切换分支:
git checkout 分支名
- 删除分支:
git branch -d 分支名
(删除空的分支,或删除已经被合并的分支,注意:不能自己删自己) - 删除分支:
git branch -D 分支名
(强制删除分支) - 合并分支:
git merge 分支名
(注意:这里的分支名,是你要合并进主分支的分支名,而且,你必须要切换到主分支上,才能输入这个命令,合并其他的分支到主分支上) - 查看哪些分支已经合并到当前分支:
git branch -merged
- 查看哪些分支没有合并到当前分支:
git branch --no-merged
- 查看当前分支最后一次提交:
git branch -v
- 在当前提交对象上创建新的分支:
git branch
新的分支名 - 时光倒流:
git branch
新的分支名 某个Hash提交对象 (作用:创建一个分支,并使分支指向对应的提交对象)
注意:在切换分支的时候,一定要保证当前分支是干净状态
允许切换分支的情况:
- 分支上的所有内容处于
已提交
状态 - 分支上的内容是
初始化创建
,处于 未跟踪
状态(避免) - 分支上的内容是
初始化创建
,处于 已暂存
状态(避免)
不允许切换分支的情况:
- 分支上所有内容处于
已修改
状态 或 第二次(也就是提交过一次之后)以后的 已暂存状态
git 存储
在分支上工作到一半时,如果有切换分支的需求,则应该把当前分支上的工作存储起来
git stash list
查看存储列表
git stash
请未完成的修改,保存到一个栈上
git stash pop
还原存储在栈顶的工作,并立即从栈中清除
git stash apply
还原存储在栈顶的工作,不会冲栈中清除
git stash drop 存储名字
删除栈里的某个存储元素
时光机
撤回
- 撤回在工作目录中的修改:
git checkout -- 文件名
- 撤回暂存区中的修改:
git reset HEAD 文件名
- 撤回已提交的修改:
git commit --amend
(注意:只能修改注释的内容,其他的不能修改)
标签
git tag
列出标签
git tag 标签名
创建标签
git show 标签名
查看标签
git tag -d 标签名
删除标签
配置git命令别名
有时候git命令又臭又长,我们可以配置别名,来使命令进行简化
git config --global alias.别名 git命令
|
例如我配置了一个status的别名,git config --global alias.st status,那么,当我使用的时候,就只需输入 git st 就可以了
注意:如果要配置别名的那条命令有多个参数,那么需要用引号括起来
忽略文件 .gitignore
需要在项目的目录下,新建一个 .gitignore
文件,在里面写上忽略的规则即可,作用范围为当前目录及其子目录
/node_modules/
*.zip
/static/1.mp4
readme.md
|
其他说明
- HEAD是一个指针,指向一个分支
- 分支是一个提交对象
- 提交对象指向树对象
- 树对象有可能指向多个git对象
- 一个git对象就是一个文件