git fetch拉取分支/tag

git命令解释

1
git fetch --tags && git checkout release/20250825

1. git fetch --tags

  • --tags 只会拉取所有 tag 信息,并不会同步远程分支(除非本地没有某个分支,它会顺带拉下来)。
  • 如果你要同时更新 分支tag,建议这样写:
1
git fetch --all --tags

这样会更新所有远程分支和所有 tag。


2. git checkout release/20250825

这里关键要分清楚 你要 checkout 的是分支还是 tag

  • 如果是分支(推荐分支模式来做 release 迭代):

    1
    git checkout -b release/20250825 origin/release/20250825

    这样你会有一个本地 tracking 分支,可以继续提交、合并。

  • 如果是 tag(release 是打标签模式):

    1
    2
    3
    git checkout tags/release/20250825
    # or
    git checkout release/20250825

    这种情况 checkout 后是 detached HEAD (分离)状态,不能直接提交,一般用于构建/回滚。


建议实践

  1. 如果团队支持 分支模式(release 用分支维护,方便热修复):

    git fetch --all --tags
    git checkout -b release/20250825 origin/release/20250825
    
  2. 如果团队支持 tag 模式(release 是快照,不可变,构建用):

    git fetch --all --tags
    git checkout tags/release/20250825