在GitHub中的開源項目經(jīng)常可以看到發(fā)布新版本阿弃,是版本號控制的诊霹。Tag的本質(zhì)就是別名,某個commit的別名渣淳,就像網(wǎng)址是IP的別名脾还,網(wǎng)址便于我們記憶,而IP則是機器的規(guī)則入愧。我們自己的項目中也可以使用這個功能控制發(fā)版鄙漏。
使用git branch命令即可做到:
git branch newTagName commitHash
舉個栗子
想在某個commit打一個版本,首先需要看一下所有的commit棺蛛,查到commit的hash值:
git log
commit adb81b963f58f339cb5efada874f89a74ad7381e
Author: cheerfun <xxxx@xxx.com>
Date:? Wed Sep 12 17:16:46 2018 +0800
? ? feature: 增加nfs文章
commit fe5a0f40ef7569a09a7e5ee17627d5c7de2907c8
Author:cheerfun <xxxx@xxx.com>
Date:? Thu Aug 30 23:02:04 2018 +0800
? ? sync: 使用ssh-keygen自動化?
······
假設(shè)我要給hash為adb81b963f58f339cb5efada874f89a74ad7381e的commit打版本為v1.0.0怔蚌,則命令如下
git tag adb81b963f58f339cb5efada874f89a74ad7381e v1.0.0
打完tag后,可以通過“git tag --list”查看所有的tag:
v1.0.0
(END)
此時版本以分支的形式checkout出該版本代碼旁赊,分支名稱為的“tags/v1.0.0”桦踊,在Jenkins中以git的tag操作觸發(fā)代碼構(gòu)建,便可以在部署流程中引入版本管理终畅,如果代碼有問題也可以方便的回滾 ??