漏提交与打tag- 每天三分钟玩转Git(9)

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 漏提交与打tag- 每天三分钟玩转Git(9)

点击上方“编程三分钟”,马上关注,小熊和你一起充电

“ 提交漏文件、发布release版本怎么搞?——编程三分钟”


c6be5f8b8923162f58fcd56a64738bf4.jpg

第 9 篇


漏提交与打tag


恭喜你!!当你学到这一篇的时候,可以非常有底气的说自己是一个熟悉Git的使用和底层原理的Git高手了!开发协作也完全没有了问题。了解了各个步骤操作的后果再也不担心使用不成熟的可视化工具造成的可怕后果了。


本篇和下一篇给大家带来Git的常用技巧,让你更加的得心应手。让我们开始吧!


漏提交


有时候会碰到我们已经commit了但是又漏掉部分属于这个功能的文件没有一起提交,如果我们想把这些文件和刚刚的commit合并在一起,这种时候应该怎么做呢?

d10d37eb65fcb5e21e9be5cac20f7f7f.jpg

上图含义:


git log查看最后一次提交日志,其中一个被修改文件叫time.txt


git status查看到暂存区有两个新文件,他们是lose_file.txt和test_amend.txt


使用git commit --amend --no-edit合并到上一个提交里,如果不加--no-edit参数的话,会提示你来修改commit提示信息(这个命令也可以用在重复编辑commit message)。


git log查看日志,合并提交成功!注意commit id发生了变化,但是其实只看得到一个提交,此处只是为了便于系统识别和记录恢复。


打tag


打过游戏的朋友都知道存档的概念,标签就是一个类似于存档的东西,他会把当前的提交位置存档,然后用版本号来命名这个存档,常常用于测试和发布版本。可以增加与测试小姐姐接触的机会,何乐而不为呢?


创建一个tag


我们只需要切换到想打标签的分支,然后直接打就可以了。我们来试试~


866a3b503eb0212ec4a94269e8025560.png


切换到想打tag的分支


eac3fcf7a25dd62147d72c2c83c8533e.jpg

  • 创建名为release_v1.0带有信息release v1.0tag
  • 创建的不带有tag的提交信息的release_v1.1
  • 我们一般把tag名以版本号来命名,比如:release_v1.0 这样。


e06690b3b042f483542da0ead38075ff.jpg

  • git tag查看tag列表,可以看到我们刚刚打的两个tag
  • git push --tags推送本地全部tag到远程

当然了!也可以推送单个tag


da3aabed39fa72902ede14c2b14d23cf.jpg

删除操作也非常简单,我们来删除一个tag试试

8894f35abefd7982d79cd4a80cffe2b2.jpg

  • 本地删除名为release_v1.0tag
  • 远程删除名为release_v1.0tag


给历史提交打tag


先看看当前的log

image.jpeg


比方说要对[*]update time to 18:51这次提交打标签,它对应的commit id是856a740,只需要敲入命令:


ea613c4aa1ca6b9396fdcf9d7b70d941.jpg


成功打上,这又学了git log的新参数--abbrev-commit,表示只展示前半部分commit id,比较简洁。


小结


1. git log的新参数


只展示文件名和状态(增删改),不展示详细提交说明  
git log --name-status     
把历史记录用一行显示  
git log --pretty=oneline -1   
只展示前半部分commit id  
git log --abbrev-commit


2. git commit --amend 加--no-edit参数,代表不编辑commit message的同时合并当前修改到最后一个commit


git commit --amend --no-edit


3. 标签操作

git tag                      # 显示已存在的tag  
git tag -a v2.0 -m 'xxx'     # 增加v2.0的tag 
git 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的tag  
git push origin :refs/tags/tag_name 


突围技术孤岛,刷新认知思维,关注小熊(编程三分钟)

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
1月前
|
前端开发 开发工具 git
Git 标签(Tag)实战:打标签和删除标签的步骤指南
Git 标签(Tag)实战:打标签和删除标签的步骤指南
|
7月前
|
开发工具 git
Git tag管理
Git tag管理
65 0
|
持续交付 开发工具 git
如何保留原提交记录迁移Git项目,你还不知道吗?
如何保留原提交记录迁移Git项目,你还不知道吗?
如何保留原提交记录迁移Git项目,你还不知道吗?
|
10月前
|
存储 开发工具 git
【Git】tag 标签
【Git】tag 标签
64 0
|
11月前
|
开发工具 git
|
开发工具 git
git tag那个类似分支的标签命令
如果tag不存在的话可以先 git pull 或者 git fetch
92 0
git tag那个类似分支的标签命令
|
开发工具 git Docker
git:github的tag标签基本使用和自动发布软件包
git:github的tag标签基本使用和自动发布软件包
252 0
git:github的tag标签基本使用和自动发布软件包
|
开发工具 git
Git - 入门到熟悉_TAG管理
Git - 入门到熟悉_TAG管理
93 0
|
开发工具 git
git怎么给项目打tag
git怎么给项目打tag
389 0
git怎么给项目打tag
|
开发工具 git
【Git技术专题】如何使用git中的tag进行版本开发控制?
【Git技术专题】如何使用git中的tag进行版本开发控制?
230 0
【Git技术专题】如何使用git中的tag进行版本开发控制?