1. git本地的三个状态
1)工作区:所有新建的文件,或者修改还未add 的文件
2)暂存区:所有add 的文件
3)本地仓库:所有commit 的文件
2. 常用命令
1)从本地库撤销commit
- 可以将commit 撤销到 暂存区就是add 之后的状态。
git reset --soft HEAD~1 或者 git reset --soft HEAD^ 后面这个默认是回退一个提交
- 可以将commit 撤销到 工作区 add之前的状态。
git reset HEAD~1 或者 git reset --mixed HEAD~1
- 可以将commit 撤销到工作区add之前,并且本次提交的修改全部没了(慎用)
git reset --hard HEAD~1
补充:如果这样使用只是为了修改提交的commit的备注,可以使用 git commit --amend
2) 分支相关
- 查看分支 git branch
- 从当前状态创建分支 git branch test
- 从当前状态创建分支并切换分支 git checkout -b test
- 删除分支 git branch -b test
3) 压缩当前分支的提交
- 当前分支自己有3次提交,想将这三次提交压缩成1次。
git rebase -i HEAD~3 或者 git rebase -i commitId 其中 commitId是这三次最新提交的前一次,
也就是压缩三次提交必须之前有4次以上的提交。将最新的提交变基到前一次提交上。
- 强制将当前分支向远程提交
git push origin --force
4)创建本地分支并且与远程分支关联
- git checkout -b 本地分支名 origin/远程分支名
- git log --all --graph 查看所有分支的分支图