git学习总结

最新更新时间:2019年09月27日16:27:30

《猛戳-查看我的博客地图-总有你意想不到的惊喜》

本文内容:git 不常用的相关命令:tag

概述

在日常开发过程中,使用git工具使用工具为了提高开发效率,实施项目版本管理。

tag

  • 介绍

tag命令,给某一个commit做一个标记,tagName和commitID一一对应,因为commitID不容易记忆,因此标签可以当做是某个指定版本库中指定的一个commit代码的一个快照。
tag和分支平级,也就是说可以在任何分支和任何tag之间通过git checkout name命令来回切换。

  • 使用
  • 创建tag
    git tag tagName #在当前分支最近提交的的一次代码上创建一个tag
    git tag tagName commitID #在当前分支指定的提交记上创建一个tag
    git tag tagName -a '注释' -m '这个tag的一些说明,可以是从哪个分支新建的tag,修改的内容和日期,以及版本号' commitID #在当前分支指定的提交记上创建一个tag
  • 提交到远程服务器
    git push origin tagName #将本地指定tag推送到远程服务器
    git push origin --tags #将本地全部tag推送到远程服务器
  • 查看tag
    git tag
    git tag -l
    git tag -n
    git show tagName #查看tag详细信息,ctrl+z 退出
  • 删除本地tag
    git tag -d tagName #删除本地tag
  • 删除远程仓库tag的方案一
    git tag -d tagName
    git push origin :refs/tags/tagName
  • 删除远程仓库tag的方案二
    git tag -d tagName
    git push origin --delete tag tagName
  • 从分支切换到tag
    git checkout tagName
  • 在指定tag上新建一个分支
    git checkout tagName
    git checkout -b new_branch -name
  • 说明
  • tag 是添加在refs/tags/
  • -a | --annotate #给tag添加注释
  • -d | --delete #删除本地tag
  • -f | --force #用新的tagName替换存在tag
  • -F | --file #从指定的文件获取tag信息
  • -l | --list #列出所有tag
  • -m | --message #给tag添加信息
  • -n #打印全部tagName
  • -s | --sign #使用默认电子邮件地址的密钥,给tag添加GPG签名
  • -u | --local-user #使用指定的key(密钥),给tag添加GPG签名
  • -v | --verify #验证GPG签名

分支强制覆盖

应用场景:从master分支切出子分支开发,再从子分支切出子分支开发,会遇到无法合并到master分支的场景,此时可以采用最新的子分支完全覆盖master分支,保证了主分支的完整性。

具体操作如下:

  • git checkout master #切换到主分支
  • git reset --hard feature_branch_name #将feature_branch_name完全覆盖master分支
  • git push -f #将最新master推送到远程仓库

参考资料

  • Git - git-tag Documentation

感谢阅读,欢迎评论^-^

打赏我吧^-^

你可能感兴趣的:(工具)