回滚 n 个 commit (增长了revert commit)
git revert -n commit_idgit
回滚到指定的commit_id(不增长commit,回滚的commit_id被删除)
git reset --hard commit_idbash
回到commit_id处,在这里能够修改在这个commit_id后的commit
git rebase commit_idfetch
修改已经commit可是未push的提交
git commit --amendcode
修改已经push的提交
1.git rebase -i 该提交的前一个commit的编号commitid
2.在git bash中运行上面的命令后,会弹出编辑框,在编辑框中会分行依次显示以pick开头的commitid以后的全部commit message。
3.将须要修改的commit message以前的"pick"改成"reword",点击保存按钮,并关闭编辑框,这时会执行rebase操做。it
Rebasing (1/3)
4.接着会再次弹出编辑框,此次编辑框中只有以前改成"reword"的那个commit message,此时修改commit message的内容,点击保存按钮并关闭编辑框,会继续执行rebase操做。
5.git push --forceast
放弃全部的本地修改(不包括增长的文件)
git checkout .file
查看commit_id修改文件的统计信息(增删行数)
git log --stat commot_id统计
查看commit_id修改文件的细节
git log -p commit_idword
查看fileName相关的commit记录
git log filenamedi
显示filename的每次提交的diff
git log -p filename
查看本地分支
git branch
查看全部分支
git branch -a
若是让HEAD文件指向一个commit id,那就变成了detached HEAD。git checkout 能够达到这个效果,用下面的命令:
git checkout commit_id
从detached HEAD状态中返回:
git checkout master ##到这里可能会落后master多个commit,git pull之
git pull ##更新后,再fetch吧
git fetch origin master ##source的master已经最新,此时能够正常操做了
//查看本地分支
git branch
//删除目标分支
git branch -D master
//从新拉取master分支 git checkout master