git对指定commitid 打tag_git 打tag

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 20:51   1080   0

git tag

$ git tag v1.0

查看tag

$ git tag //v1.0

默认标签是打在最新提交的commit上的。有时候,如果忘了打标签,比如,现在已经是周五了,但应该在周一打的标签没有打,怎么办?

方法是找到历史提交的commit id,然后打上就可以了:

$ git log --pretty=oneline --abbrev-commit

12a631b (HEAD -> master, tag: v1.0, origin/master) merged bug fix 101

4c805e2 fix bug 101

e1e9c68 merge with no-ff

f52c633 add merge

cf810e4 conflict fixed

5dc6824 & simple

14096d0 AND simple

b17d20e branch test

d46f35e remove test.txt

b84166e add test.txt

519219b git tracks changes

e43a48b understand how stage works

1094adb append GPL

e475afc add distributed

eaadf4e wrote a readme file

比方说要对add merge这次提交打标签,它对应的commit id是f52c633,敲入命令:

$ git tag v0.9 f52c633

$ git tag //0.9 v1.0

注意,标签不是按时间顺序列出,而是按字母排序的。可以用git show 查看标签信息:

$ git show v0.9

还可以创建带有说明的标签,用-a指定标签名,-m指定说明文字:

$ git tag -a v0.1 -m "version 0.1 released" 1094adb

提交tag

$ git push origin master //不可以将tag提交到master

需要执行

$ git push origin

查看tag详情

git show v1.0

(2) 版本回退

下面我们就通过commit id回到发版本时候的代码去喽:

git reset --hard 7441b8

注意把7441b8换成你的commid id。

如果有乱码的话,改成以UTF-8无BOM格式编码。看到没,我们又回到了第一次发版本时候的代码,是不是有点小激动啊.

如果这个时候你立马投入与bug的战斗,修改后发版本,那么你就犯了严重的错误,因为你修改后的代码是无法与正在开发的版本合并哒,也就是说你的修改并不能加入现有的代码。所以:

特别注意:通过标签回退版本后,要马上拉一个分支,然后当前主干分支要立即回到原来的位置,否则正在开发的代码可能白干了,接着在刚拉的分支上修改bug,修改完毕合并到主干上

(3) 拉取分支

回退版本后,立即拉取分支,这里取名bugfix分支:

git checkout -b bugfix

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP