如何将本地Git仓库导入至VSTS?保留提交历史方法咨询
如何将本地Git仓库迁移到VSTS并保留提交历史?
没问题,这事儿我实操过好多次,完全能完整保留所有提交历史,步骤也不复杂,跟着一步步来就行:
操作步骤
1. 切换到本地仓库目录
打开Git Bash或者Windows命令提示符,切换到你的本地仓库路径:
cd F:\Repos\ExistingCodeBase
确认当前目录下有.git文件夹(可以用ls -la或dir /a查看),这才是Git仓库的根目录。
2. 添加VSTS远程仓库地址
把你的VSTS项目仓库作为远程仓库添加到本地Git配置里:
git remote add vsts https://[MyCompanyName].visualstudio.com/_git/MyFirstProject
注意:把命令里的
[MyCompanyName]替换成你实际的公司名称。如果之前已经添加过同名的远程仓库,用下面的命令更新地址:git remote set-url vsts https://[MyCompanyName].visualstudio.com/_git/MyFirstProject
3. 推送所有分支与完整提交历史
这一步是关键,能确保所有分支和历史都完整迁移到VSTS:
- 推送所有分支的完整历史:
git push vsts --all
- 如果你的仓库有标签(Tags),也一起推送过去:
git push vsts --tags
4. 验证迁移结果
打开VSTS的MyFirstProject仓库页面,检查:
- 提交历史是否和本地完全一致
- 所有分支是否都已同步
- 标签(如果有的话)是否存在
特殊情况处理:VSTS仓库非空
如果你的VSTS仓库已经初始化过(比如有默认的README、.gitignore文件),直接推送会触发冲突。这时候需要先合并VSTS的内容:
# 假设VSTS的默认分支是main,如果你用的是master就替换成master git pull vsts main --allow-unrelated-histories
合并过程中如果有冲突,手动解决冲突后提交,再重新执行git push vsts --all即可。
权限问题提示
如果推送时遇到权限错误,建议使用VSTS的**个人访问令牌(PAT)**进行认证:在VSTS账户设置里生成PAT,推送时输入用户名(可留空),密码填PAT即可。
内容的提问来源于stack exchange,提问作者JBdev
相关产品推荐
相关产品推荐

