Git命令解析(续)
1.查看标签
git tag
2.展示当前分支的最近的tag
git describe –tags –abbrev=0
3.查看标签详细信息
git tag -ln
4.本地创建标签
git tag <version-number>
5.默认tag是打在最近的一次commit上,如果需要指定commit打tag:
$ git tag -a -m “v1.0发布(描述)”
6.推送标签到远程仓库——首先要保证本地创建好了标签才可以推送标签到远程仓库:
git push origin <local-version-number>
一次性推送所有标签,同步到远程仓库:
git push origin –tags
7.删除本地标签
git tag -d <tag-name>
8.删除远程标签——删除远程标签需要先删除本地标签,再执行下面的命令:
git push origin :refs/tags/<tag-name>
9.切回到某个标签——一般上线之前都会打tag,就是为了防止上线后出现问题,方便快速回退到上一版本。下面的命令是回到某一标签下的状态:
git checkout -b branch_name tag_name
10.放弃工作区的修改
git checkout <file-name>
放弃所有修改:
git checkout .
11.恢复删除的文件
git rev-list -n 1 HEAD — #得到deleting_commit
git checkout ^ — #回到删除文件deleting_commit之前的状态
12.以新增一个commit的方式还原某一个commit的修改
git revert <commit-id>
13.回到某个commit的状态,并删除后面的commit
和revert的区别:reset命令会抹去某个commit id之后的所有commit
git reset #默认就是-mixed参数。
git reset –mixed HEAD^#回退至上个版本,它将重置HEAD到另外一个commit,并且重置暂存区以便和HEAD相匹配,但是也到此为止。工作区不会被更改。
git reset –soft HEAD~3#回退至三个版本之前,只回退了commit的信息,暂存区和工作区与回退之前保持一致。如果还要提交,直接commit即可
git reset –hard #彻底回退到指定commit-id的状态,暂存区和工作区也会变为指定commit-id版本的内容
14.修改上一个commit的描述
git commit –amend
15.查看commit历史
git log
16.查看某段代码是谁写的
git blame <file-name>
17.显示本地更新过HEAD的git命令记录
每次更新了HEAD的git命令比如commint、amend、cherry-pick、reset、revert等都会被记录下来(不限分支),就像shell的history一样。这样你可以reset到任何一次更新了HEAD的操作之后,而不仅仅是回到当前分支下的某个commit之后的状态。
git reflog
18. 修改作者名
git commit –amend –author=’Author Name <email@address.com>’