Git如何實(shí)現(xiàn)checkout遠(yuǎn)程tag
拉取項(xiàng)目
執(zhí)行命令git clone:
git clone git@github.com:secbr/nacos.git
查看遠(yuǎn)程tag
執(zhí)行命令git tag:
appledeMacBook-Pro-2:nacos apple$ git tag 0.2.1 0.2.1-RC1 0.3.0 0.3.0-RC1 0.4.0 ...
此時(shí)可找到需要拉取的tag名稱。
checkout需要的tag
執(zhí)行命令git checkout:
(base) appledeMacBook-Pro-2:nacos apple$ git checkout 2.0.2 Note: switching to '2.0.2'. You are in 'detached HEAD' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this state without impacting any branches by switching back to a branch. If you want to create a new branch to retain commits you create, you may do so (now or later) by using -c with the switch command. Example: ? git switch -c <new-branch-name> Or undo this operation with: ? git switch - Turn off this advice by setting config variable advice.detachedHead to false HEAD is now at 1fac5c833 Merge pull request #6052 from alibaba/develop
其中2.0.2為tag(分支)名稱。
通過git branch命令可以查看當(dāng)前的分支情況:
(base) appledeMacBook-Pro-2:nacos apple$ git branch * (HEAD detached at 2.0.2) ? develop
通過此種方式,獲得的分支Head處于游離狀態(tài),我們可以很方便地在歷史版本之間互相切換,比如需要回到某次提交,直接checkout對(duì)應(yīng)的 commit id或者tag名即可。
但在這個(gè)基礎(chǔ)上的提交會(huì)新開一個(gè)匿名分支!也就是說(shuō)我們的提交是無(wú)法可見保存的,一旦切到別的分支,游離狀態(tài)以后的提交就不可追溯了。
解決辦法就是新建一個(gè)分支保存游離狀態(tài)后的提交。
checkout作為一個(gè)分支
執(zhí)行g(shù)it checkout -b tagName (將tag checkout出去作為一個(gè)branch):
(base) appledeMacBook-Pro-2:nacos apple$ git checkout -b tag-2.0.2 Switched to a new branch 'tag-2.0.2' (base) appledeMacBook-Pro-2:nacos apple$ git branch ? develop * tag-2.0.2 (base) appledeMacBook-Pro-2:nacos apple$ git checkout -b tag-2.0.2 Switched to a new branch 'tag-2.0.2' (base) appledeMacBook-Pro-2:nacos apple$ git branch ? develop * tag-2.0.2
在游離狀態(tài)下的tag中執(zhí)行g(shù)it checkout -b tag-2.0.2來(lái)新建一個(gè)分支。
當(dāng)然上述checkout tag和checkout tag作為一個(gè)分支,可以合并成一個(gè)命令:
(base) appledeMacBook-Pro-2:nacos apple$ git checkout -b tag-1.4.2 1.4.2 Switched to a new branch 'tag-1.4.2'
上述命令,將遠(yuǎn)程版本為1.4.2的tag,新建一個(gè)本地分支,名稱為tag-1.4.2。
添加遠(yuǎn)程倉(cāng)庫(kù)
(base) appledeMacBook-Pro-2:nacos apple$ git remote add tag-2.0.2 git@github.com:secbr/nacos.git
push并設(shè)置upstream
(base) appledeMacBook-Pro-2:nacos apple$ git push fatal: The current branch tag-2.0.2 has no upstream branch. To push the current branch and set the remote as upstream, use ? ? git push --set-upstream origin tag-2.0.2 (base) appledeMacBook-Pro-2:nacos apple$ git push --set-upstream origin tag-2.0.2 Total 0 (delta 0), reused 0 (delta 0), pack-reused 0 remote: remote: Create a pull request for 'tag-2.0.2' on GitHub by visiting: remote: ? ? ?https://github.com/secbr/nacos/pull/new/tag-2.0.2 remote: To github.com:secbr/nacos.git ?* [new branch] ? ? ? ? ?tag-2.0.2 -> tag-2.0.2 Branch 'tag-2.0.2' set up to track remote branch 'tag-2.0.2' from 'origin'.
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
gitlab自動(dòng)定時(shí)備份文件備份失敗發(fā)送郵件功能實(shí)現(xiàn)
為預(yù)防gitlab出現(xiàn)故障,每天定時(shí)備份,備份完成后把之前的備份文件刪除,備份成功或失敗的時(shí)候自動(dòng)發(fā)送郵件提醒,這里的gitlab為docker部署,對(duì)gitlab自動(dòng)定時(shí)備份文件相關(guān)操作感興趣的朋友一起看看吧2024-06-06高性能WEB開發(fā) 為什么要減少請(qǐng)求數(shù),如何減少請(qǐng)求數(shù)!
我們先分析下請(qǐng)求頭,看看每次請(qǐng)求都帶了那些額外的數(shù)據(jù).下面是監(jiān)控的google的請(qǐng)求頭2010-05-05HTML5 拖拽復(fù)制功能的實(shí)現(xiàn)
這篇文章主要介紹了HTML5 拖拽復(fù)制功能的實(shí)現(xiàn)的相關(guān)資料,需要的朋友可以參考下2016-09-09Git第一次初始化項(xiàng)目到遠(yuǎn)程倉(cāng)庫(kù)方式
本文介紹了Git倉(cāng)庫(kù)的初始化和遠(yuǎn)程連接的基本步驟,首先,使用git init命令初始化本地倉(cāng)庫(kù),創(chuàng)建“.git”文件夾,然后,通過git remote add命令添加遠(yuǎn)程倉(cāng)庫(kù)地址,遇到Permission denied(publickey)錯(cuò)誤時(shí),需生成SSH key并添加至遠(yuǎn)程倉(cāng)庫(kù)2024-09-09瀏覽器緩存知識(shí)小結(jié)及應(yīng)用分析
了解瀏覽器的緩存命中原理,是開發(fā)web應(yīng)用的基礎(chǔ),本文著眼于此,學(xué)習(xí)瀏覽器緩存的相關(guān)知識(shí),總結(jié)緩存避免和緩存管理的方法,結(jié)合具體的場(chǎng)景說(shuō)明緩存的相關(guān)問題。希望能對(duì)有需要的人有所幫助2017-03-03如何用idea+gitee來(lái)團(tuán)隊(duì)合作開發(fā)項(xiàng)目的教程
這篇文章主要介紹了如何用idea+gitee來(lái)團(tuán)隊(duì)合作開發(fā)項(xiàng)目,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08