Git:日志与版本检查,标签,版本回退

检查日志及版本

git log

  • git log:检查版本库日志,每一条形如下;按Q可退出
commit <commit id> (HEAD->master)
Author: <name> <email>
Date:   <time>

    <message>
	
commit <commit id>
Author: <name> <email>
Date:   <time>

    <message>
  • git log --pretty=oneline省略作者及日期,更简洁
<commit id> <message>
  • git log --pretty=oneline --abbrev-commit仅使用commit id的前7位,可读性更好

版本号

  • <commit id>叫做版本号,是Git为各个时间点里提交 (commit)文件集合的不同版本建立的快照标签,一个<commit id>代表了那时提交的一个/多个文件 (和原有未更改文件)形成的新文件群 (类似于集体照)
  • HEAD代表最近的一次 (最新的)版本号,类似地
    • HEAD^代表上1个版本
    • HEAD^^代表上2个版本
    • HEAD~<n>代表上n个版本

标签 (tag)

  • 版本号又臭又长,而且不具备可理解性
  • 与每个版本号一一对应的有意义、可理解的标记
  • 标签是和每个版本 (commit)一一对应的;也即,如果一个版本同时出现在了多个分支中,那么所有分支中的该版本都会获得该标签

创建标签

  • git tag <tagname>:为当前版本创建标签
  • git tag <taganame> <commit id>:为特定版本创建标签
    • commit id可通过前述的git log查询,加上--abbrev-commit只显示前7位,更简洁
  • git tag -a <tagname> -m <message>:为标签加上文字注释

查看标签及版本信息

  • git tag:列举出所有标签
  • git show <tagname>:详细注明标签对应版本的信息

推送标签到远程仓库

  • git push origin <tagname>:推送特定标签到远程仓库
  • git push origin --tags:一次性将所有本地的标签推送到远程仓库

删除标签

  • git tag -d <tagname>:删除本地的特定标签
  • 删除远程仓库里的某标签
    • 先删除本地的该标签:同上
    • git push origin :refs/tags/<tagname>:从远程仓库删除该标签

版本回退与撤销回退

版本回退

  • git log:查看当前是哪个版本 (HEAD在哪里)
  • git reset --hard <commit id>:退回<commit id>指代的版本
$ git reset --hard HEAD^
HEAD is now at ca47c66 added Gittest2.md
  • git log确认当前HEAD所在的版本
  • 此时本地文件系统中存在的相应文件已回到了原来的版本

撤销回退

  • 若想要回到回撤前的版本,需要回撤前版本的<commit id>
  • git reflog:可查看该仓库中提交版本的所有历史以及提交过的所有版本 (包括既往回撤过的)
  • 在其中找到欲撤销回退的“未来”版本号,再使用一次git reset --hard <commit id>即可
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值