Git如何实现checkout远程tag
拉取项目
执行命令git clone:
git clone git@github.com:secbr/nacos.git
查看远程tag
执行命令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 ...
此时可找到需要拉取的tag名称。
checkout需要的tag
执行命令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命令可以查看当前的分支情况:
(base) appledeMacBook-Pro-2:nacos apple$ git branch * (HEAD detached at 2.0.2) develop
通过此种方式,获得的分支Head处于游离状态,我们可以很方便地在历史版本之间互相切换,比如需要回到某次提交,直接checkout对应的 commit id或者tag名即可。
但在这个基础上的提交会新开一个匿名分支!也就是说我们的提交是无法可见保存的,一旦切到别的分支,游离状态以后的提交就不可追溯了。
解决办法就是新建一个分支保存游离状态后的提交。
checkout作为一个分支
执行git checkout -b tagName (将tag checkout出去作为一个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
在游离状态下的tag中执行git checkout -b tag-2.0.2来新建一个分支。
当然上述checkout tag和checkout tag作为一个分支,可以合并成一个命令:
(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'
上述命令,将远程版本为1.4.2的tag,新建一个本地分支,名称为tag-1.4.2。
添加远程仓库
(base) appledeMacBook-Pro-2:nacos apple$ git remote add tag-2.0.2 git@github.com:secbr/nacos.git
push并设置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'.
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
mvn 打包报错:no compiler is provided in this environment
这篇文章主要为大家介绍了mvn 打包报错:no compiler is provided in this environment解决方案详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2022-12-12
fiddler使用方法之Fiddler显示IP,Fiddler中文乱码解决方法以及fiddler模拟发送get/post
今天为大家介绍fiddler的3种使用技巧,(1)Fiddler抓包显示域名IP(2)解决Fiddler抓包时中文乱码问题(3)利用fiddler模拟发送get/post请求的方法2018-10-10
IDEA中git撤回上一次push的方法(指定回到某个版本)
这篇文章主要介绍了IDEA中git撤回上一次push(指定回到某个版本),本文通过场景图文的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2020-11-11


最新评论