git拉取特定分支上tag
1.分支tag区分概念
- 分支:像
release/20250818,表示开发的线索,可以继续提交。 - Tag:像
v1.2.3或release-20250818-tag,表示某个特定提交的快照,通常不改动。
git fetch --tags 会把远程的所有 tag 拉到本地,但不会自动切换。
2. 拉取远程分支并切换
如果你只是想拉取分支:
1 | git fetch origin release/20250818 |
或者一步到位:
1 | git checkout -b release/20250818 origin/release/20250818 |
3. 拉取特定 tag 并切换
如果你想切换到 某个 tag:
1 | git fetch origin tag <tag_name> |
注意:
tags/<tag_name>是 detached HEAD,意思你在这个 tag 上不会自动在分支上提交。- 如果想在 tag 基础上创建分支:
1 | git checkout -b my_branch tags/<tag_name> |
4. 同时拉取分支和 tag
如果你想获取分支的最新内容,同时确保 tag 可用:
1 | git fetch origin release/20250818 --tags |
这样不会自动切换到某个 tag,如果你想用 tag,需要
git checkout tags/<tag>。
总结:
- 分支 用
git checkout <branch>。 - tag 用
git checkout tags/<tag>,或者基于 tag 新建分支。