You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Git-TFS迁移TFS的Project2至Git并保留全历史及单独推送

提取Project2并推送至远程Git仓库

方法一:从现有全量克隆仓库中提取(推荐用git filter-repo)

  • 进入你已经克隆好的DefaultCollection本地Git目录
  • 执行命令过滤出仅属于Project2的历史和文件,同时把Project2路径转为仓库根目录:
    git filter-repo --path Collection3/Prod/Project2/ --path-rename Collection3/Prod/Project2/:./
    
  • 用git log确认历史仅包含Project2的相关提交
  • 添加远程Git仓库地址:
    git remote add origin <你的远程Git仓库URL>
    
  • 推送所有分支和标签到远程:
    git push -u origin --all
    git push -u origin --tags
    

方法二:直接用git tfs单独克隆Project2(解决历史不全问题)

如果之前全量克隆时历史缺失,建议直接单独克隆Project2以获取完整历史:

  • 执行克隆命令,指定Project2的完整TFS路径:
    MSYS_NO_PATHCONV=1 git tfs clone --branches=auto http://XXXX/DefaultCollection $/Collection3/Prod/Project2
    
    要是180天以上历史还是拉不下来,加--all参数强制拉取全部历史:
    MSYS_NO_PATHCONV=1 git tfs clone --branches=auto --all http://XXXX/DefaultCollection $/Collection3/Prod/Project2
    
  • 进入克隆后的Project2本地仓库
  • 添加远程仓库并推送:
    git remote add origin <你的远程Git仓库URL>
    git push -u origin --all
    git push -u origin --tags
    

注意点

  • 用git filter-repo前务必备份原仓库,因为这个操作会不可逆地修改仓库历史
  • 单独克隆时确认TFS路径$/Collection3/Prod/Project2完全正确,路径错误会导致克隆失败

内容的提问来源于stack exchange,提问作者mauro.branca

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 16:14:51