一.git 关于tag 的创建
1.显示所有tag:
git tag
2.创建新的tag
1.对当前的版本创建一个tag:
git tag -a v1.0.0 -m "这是备注信息"
2.对当前的commit某一个版本创建一个tag:
git tag -a v1.0.3 22b55b7672f2f190cd5f1b15bed93fe5d97e30ce -m"版本v1.0.3"
3.删除本地(还没提交到远程仓库)一个tag ,不会影响远端
git tag -d v1.0.4
4.删除仓库一个tag ,不会影响本地
// 删除远程仓库对应标签(Git版本 > V1.7.0)
git push origin --delete 1.0.0
// 旧版本Git
git push origin :refs/tags/1.0.0
5.推送一个本地tag 到仓库
git push origin v1.0.1
6.推送所有本地tag 到仓库
git push origin --tags
7.获取远程tag
git fetch origin tag "标签名称"
二.git 关于tag 出现bug的处理
1.比如我们git 上已经打了好多个tag,而且也开发了新功能;如图
git tag
2.正在master 上开发,突然说v1.0.0上出现了一个严重bug,必须要先修复。查看v1.0.0 提交的header:
git show v1.0.0
3.把代码回退到版本v1.0.0 如图:56ecf0 为提交编号的前六位
git reset --hard 56ecf0
4.开启一个新的分支,命令如图:1.0.0bugfix 是分支的名字
git checkout -b 1.0.0bugfix
命令执行以后会自动切换到分支1.0.0bugfix下工作,可以在用git branch查看如图:
git branch
5.回到主分支,把主分支的状态HEAD更新到最新
$ git checkout master
$ git reflog // 拿到最后一次提交的commitID
$ git reset --hard 最后一次提交的commitID
6.切换到分支1.0.0bugfix下工作
git checkout 1.0.0bugfix
代码修复过后
git add .
git commit -m "1.0.0 版本的紧急修复" //提交代码
git tag v1.0.0.1 -m"1.0.0.1修复版本的tag" //增加一个新的tag
测试没问题
$ git checkout master //先切换到主干上
$ git merge bugfix //再合并修改bug的分支,此时冲突必然。
$ git status //这个时候可以用git status 命令查看谁发生了冲突
//推送tag 到远程resonse 的
git push origin --tags //git push命令是不会推送标签的,这点一定要注意
7.删除分支1.0.0bugfix (bug修复了以后,这个分支可以删除了)
git branch -d 1.0.0bugfix
网友评论