常用的git命令(摘抄自官网)
列显已有的标签
列出现有标签的命令非常简单,直接运行 git tag 即可:
$ git tag
v0.1
v1.3
我们可以用特定的搜索模式列出符合条件的标签。在 Git 自身项目仓库中,有着超过 240 个标签,如果你只对 1.4.2 系列的版本感兴趣,可以运行下面的命令:
$ git tag -l ‘v1.4.2.*’
v1.4.2.1
v1.4.2.2
v1.4.2.3
v1.4.2.4
新建标签
含附注的标签
创建一个含附注类型的标签非常简单,用 -a (译注:取 annotated 的首字母)指定标签名字即可:
$ git tag -a v1.4 -m ‘my version 1.4’
轻量级标签
轻量级标签实际上就是一个保存着对应提交对象的校验和信息的文件。要创建这样的标签,一个 -a,-s 或 -m 选项都不用,直接给出标签名字即可:
$ git tag v1.4-lw
分享标签
默认情况下,git push 并不会把标签传送到远端服务器上,只有通过显式命令才能分享标签到远端仓库。其命令格式如同推送分支,运行 git push origin [tagname] 即可:
$ git push origin v1.5
如果要一次推送所有本地新增的标签上去,可以使用 –tags 选项:
$ git push origin –tags
删除分支
删除本地分支
删除本地分支可以使用一下命令:
$ git branch -d testing
如果删除失败,需要强制删除可以使用 -D 选项强制删除它:
$ git branch -D testing
删除远程分支
可以运行带有 –delete 选项的 git push 命令来删除一个远程分支。 如果想要从服务器上删除 serverfix 分支,运行下面的命令:
$ git push origin –delete serverfix
To https://github.com/schacon/simplegit
- [deleted] serverfix
merge 某个分支的改动,但是merge过来都是作为未 commit 状态的文件
git merge master_glassx –squash
目前我主要使用该方法操作不能提交的分支:
- 当前 A 分支commit 了很多次,但是在push 的时候,提示 commit 的卡片已经关闭了,不能push,必须使用新卡片才能push
- 基于 A 中最后一次已经 push 的 commit 新建一个分支 B
- 之后,在 B 分支下,执行 git merge A –squash ,将所有改动 merge 到 B 中来
- 在 B 中,commit 操作,并将新的卡片信息填入这次commit,之后就能顺利push