第 9 篇
漏提交与打tag
恭喜你!!当你学到这一篇的时候,可以非常有底气的说自己是一个熟悉Git的使用和底层原理的Git高手了!开发协作也完全没有了问题。了解了各个步骤操作的后果再也不担心使用不成熟的可视化工具造成的可怕后果了。
本篇和下一篇给大家带来Git的常用技巧,让你更加的得心应手。让我们开始吧!
漏提交
有时候会碰到我们已经commit了但是又漏掉部分属于这个功能的文件没有一起提交,如果我们想把这些文件和刚刚的commit
合并在一起,这种时候应该怎么做呢?
上图含义:
time.txt
git commit --amend --no-edit
合并到上一个提交里,如果不加--no-edit
参数的话,会提示你来修改commit提示信息(这个命令也可以用在重复编辑commit message
)。打tag
打过游戏的朋友都知道存档的概念,标签就是一个类似于存档的东西,他会把当前的提交位置存档,然后用版本号来命名这个存档,常常用于测试和发布版本。可以增加与测试小姐姐接触的机会,何乐而不为呢?
创建一个tag
我们只需要切换到想打标签的分支,然后直接打就可以了。我们来试试~
切换到想打tag
的分支
release_v1.0
带有信息release v1.0
的tag
tag
的提交信息的release_v1.1
tag
名以版本号来命名,比如:release_v1.0 这样。git tag
查看tag列表,可以看到我们刚刚打的两个tag当然了!也可以推送单个tag
删除操作也非常简单,我们来删除一个tag试试
release_v1.0
的tag
release_v1.0
的tag
给历史提交打tag
先看看当前的log
比方说要对[*]update time to 18:51
这次提交打标签,它对应的commit id是856a740
,只需要敲入命令:
成功打上,这又学了git log的新参数--abbrev-commit,表示只展示前半部分commit id,比较简洁。
小结
1. git log的新参数
只展示文件名和状态(增删改),不展示详细提交说明git log --name-status 把历史记录用一行显示 git log --pretty=oneline -1 只展示前半部分commit idgit log --abbrev-commit
2. git commit --amend 加--no-edit参数,代表不编辑commit message
的同时合并当前修改到最后一个commit
git commit --amend --no-edit
3. 标签操作
git tag # 显示已存在的taggit tag -a v2.0 -m 'xxx' # 增加v2.0的taggit show v2.0 # 显示v2.0的日志及详细内容git log v2.0 # 显示v2.0的日志git push --tags # 把所有tag推送到远程仓库git tag -d tag_name # 本地删除名为tag_name的tag# 远程删除名为tag_name的taggit push origin :refs/tags/tag_name