撤销提交
git reset –hard HEAD~1
修改提交
git commit --amend
切换分支
git checkout branckname
git fetch与pull
git pull=git fetch +git merge
cherry-pick
把某个分支的提交复制到另一个分支
rebase 和 merge
rebase是将当前开发分支(develop)的提交继承到主生产分支(origin master)上,并将当前分支作为主分支,并丢弃开发分支之前的提交。
git的HEAD,索引,工作树
- HEAD 当前分支最后一次提交的指针
- 索引 是个在 /.git/index,单一的、庞大的二进制文件,该文件列出了当前分支中所有文件的 SHA1 检验和、时间戳和文件名,它不是个带有文件副本的目录。
- 工作树
源文件目录
git stash
- 有些修改不想提交,但又不想看到,或者夹杂在下次提交中,就可以用git stash存储在暂存区,下次需要可以再拿出来。
- 一些常用命令
- 提交到暂存区
git stash
- 从暂存区获取
git stash pop
- 查看现有到stash
git stash list
- 删除stash
git stash drop STASH_NAME
- 从stash创建分支
git stash branch BRANCH_NAME
- 提交到暂存区