如何将SVN工作副本便捷转换为Git工作树?
更简便的SVN工作副本转Git工作树方案
嘿,我刚好处理过几乎一模一样的场景,给你分享个完全不用折腾文件移动的顺畅方法,完美保留本地修改:
针对每个站点(生产环境+5个开发环境),直接在当前SVN工作副本的目录下执行以下步骤:
- 第一步:初始化Git仓库(直接在现有文件上创建,无需克隆新目录)
git init - 第二步:关联远程Git仓库
git remote add origin <你的Git仓库地址> - 第三步:拉取远程仓库的所有提交记录和分支
git fetch - 第四步:关联本地工作区与远程主分支,同时保留本地修改
(如果远程主分支是master就替换掉main)git reset --mixed origin/main
为什么这个方案更优?
- 完全不用复制、移动任何文件,直接在原站点目录操作,彻底避免了文件权限、路径变更带来的问题
git reset --mixed参数只会更新Git的提交指针,绝对不会覆盖本地修改的文件,完美满足你保留开发环境本地变更的需求- 执行完这些步骤后,你就可以正常使用
git add、git commit、git push等Git命令,直接和远程仓库交互
你之前提到的克隆后移动文件的方案确实容易出问题,比如不小心覆盖本地修改、文件同步不全等,这个方法从根源上避免了这些麻烦。另外你说的那个获赞高的非采纳答案,应该是最后一步原本用了会覆盖修改的git pull或者git reset --hard,换成--mixed的reset就安全多了。
内容的提问来源于stack exchange,提问作者asdflkadslkfadsfjasdadsfsad
相关产品推荐
相关产品推荐

