前端项目同时使用svn和gitee管理代码
·
目录
前言
由于项目是内网svn部署,同事出差驻场无法拉项目,需要创建gitee仓库同步修改代码。
当前本地有svn和gitee两个项目文件夹,每次修改代码都需要粘贴被修改的文件夹,长时间会导致代码混乱。
诉求是同时使用svn和gitee管理代码
第一步:安全起见先备份svn文件夹
# 先复制一份整个 SVN 文件夹作为备份
cp -r 你的svn项目文件夹 你的svn项目文件夹_backup
第二步:在svn文件夹初始化git
cd svn项目文件夹
# 1. 初始化 Git
git init
# 2. 添加 Gitee 远程仓库
git remote add gitee <你们的Gitee仓库URL>
# 3. 设置 .gitignore(避免把不需要的文件提交到 Gitee)
# 创建 .gitignore 文件,写入需要忽略的文件,比如:
echo "node_modules/" >> .gitignore
echo ".svn/" >> .gitignore # 很重要!不要提交 SVN 的元数据
第三步:建立初始化同步
# 1. 把当前 SVN 文件夹的内容添加到 Git
git add .
git commit -m "初始化导入:从SVN同步"
# 2. 拉取 Gitee 上的最新代码(同事提交的)
git pull gitee master --allow-unrelated-histories
这里可能会代码冲突,需要:
- 解决冲突
- 保留正确的代码(保留当前修改、保留传入修改、合成双方修改)
- git add .
- git commit
第四步:设置gitee分支跟踪
# 设置本地 master 分支跟踪 Gitee 的 master 分支
git branch --set-upstream-to=gitee/master master

这样就设置完成了,接下来是使用场景
使用场景
场景1:在svn上修改了代码
# 1. 先用 SVN 提交到内网(正常操作)
svn commit -m "我修改了XX功能"
# 2. 同步到 Gitee(让同事能拿到)
git add .
git commit -m "同步SVN修改:XX功能"
git push gitee master
搞定!同事就能在gitee上看到修改了
场景2:同事在gitee上修改了代码
# 1. 从 Gitee 拉取同事的修改
git pull gitee master
# 2. 把代码同步到你的 SVN 工作目录
# (Git pull 已经自动把文件更新到你的本地了)
# 3. 用 SVN 提交到内网
svn commit -m "同步同事的Gitee修改:XX功能"
搞定!不需要手动复制粘贴任何文件!
场景3:两边同时有修改(需要合并)
# 1. 先提交 SVN 修改
svn commit -m "我的修改"
# 2. 从 Gitee 拉取同事的修改
git pull gitee master
# 如果有冲突,Git 会提示解决
# 3. 解决冲突后
git add . # 标记冲突已解决
git commit -m "合并同事的修改"
git push gitee master # 推送到 Gitee
# 4. 用 SVN 提交合并后的版本
svn commit -m "合并同事修改后的版本"
重要提醒
1、一定要添加 .gitignore 并包含 .svn/
这样git就不会把svn的元数据提交到gitee,避免把内网信息泄露出去
2、两个版本控制系统的是独立的
- svn提交记录和内网相关
- git提交记录和gitee相关
- 各自保留自己的历史提交记录,互不干扰
3、定期检查状态
git status # 查看 Git 这边有什么未提交的
svn status # 查看 SVN 这边有什么未提交的
完结撒花❀
更多推荐



所有评论(0)