git 命令摘录

回滚 n 个 commit (增加了revert commit)
git revert -n commit_id

回滚到指定的commit_id(不增加commit,回滚的commit_id被删除)
git reset --hard commit_id

回到commit_id处,在这里可以修改在这个commit_id后的commit
git rebase commit_id

修改已经commit但是未push的提交
git commit --amend

修改已经push的提交
1.git rebase -i 该提交的前一个commit的编号commitid
2.在git bash中运行上面的命令后,会弹出编辑框,在编辑框中会分行依次显示以pick开头的commitid之后的所有commit message。
3.将需要修改的commit message之前的"pick"改为"reword",点击保存按钮,并关闭编辑框,这时会执行rebase操作。

Rebasing (1/3)

4.接着会再次弹出编辑框,这次编辑框中只有之前改为"reword"的那个commit message,此时修改commit message的内容,点击保存按钮并关闭编辑框,会继续执行rebase操作。
5.git push --force

放弃所有的本地修改(不包括增加的文件)
git checkout .

查看commit_id修改文件的统计信息(增删行数)
git log --stat commot_id

查看commit_id修改文件的细节
git log -p commit_id

查看fileName相关的commit记录
git log filename

显示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 删除本地分支

//查看本地分支
git branch

//删除目标分支
git branch -D master

//重新拉取master分支
git checkout master

posted @ 2018-03-23 21:23  非我在  阅读(323)  评论(0编辑  收藏  举报