Git-TFS克隆仓库后Releases/20.1、Releases/21.1本地分支缺失问题求助
解决git-tfs克隆后本地分支缺失的问题
我注意到你已经成功将TFS分支拉取到本地仓库的remotes/tfs/远程分支下,但Releases/20.1和Releases/21.1对应的本地分支却没有生成。这是git-tfs的正常行为——它只会建立TFS分支与本地远程分支的关联,不会自动创建本地跟踪分支,除非你在初始克隆时特别指定。下面是具体的解决方法:
1. 基于远程TFS分支创建本地分支
执行以下命令,创建并切换到缺失的本地分支,同时设置它们跟踪对应的远程TFS分支:
# 创建并切换到Releases/20.1本地分支 git checkout -b Releases/20.1 remotes/tfs/Releases/20.1 # 创建并切换到Releases/21.1本地分支 git checkout -b Releases/21.1 remotes/tfs/Releases/21.1
执行完成后,再运行git branch命令,就能看到这两个本地分支已经出现在列表里了。
2. 验证分支跟踪配置
为了确认本地分支已经正确关联到对应的远程分支,可以运行以下命令:
git branch -vv
输出结果中,你应该能看到Releases/20.1和Releases/21.1分支后面标注了跟踪remotes/tfs/Releases/20.1和remotes/tfs/Releases/21.1。
3. 为什么你之前的命令没有生效
- 你执行的
git tfs branch --init命令提示分支已存在,是因为git-tfs已经在本地仓库中建立了TFS分支与remotes/tfs/下远程分支的关联关系。这个命令的作用是初始化这种关联,而不是创建本地分支。 git tfs fetch --all命令只是将TFS上的变更拉取到本地的远程分支(remotes/tfs/目录下),并不会自动创建对应的本地跟踪分支。
另外,你在克隆时遇到的Couldn't fetch parent branch错误,大概率是因为指定了--changeset=51731参数,限制了初始克隆时拉取的历史范围,但后续执行的git tfs fetch --all已经补全了所有变更集,所以现在创建本地分支是完全可行的。
内容的提问来源于stack exchange,提问作者salvis
相关产品推荐
相关产品推荐

