几何尺寸与公差论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 270|回复: 7

如何将svn的log转成sourcetree的log?

  [复制链接]
发表于 2025-8-31 12:12:51 | 显示全部楼层 |阅读模式
如何将svn的log转成sourcetree的log?
 楼主| 发表于 2025-8-31 12:14:20 | 显示全部楼层
1. 安装 Git 和 Git SVN 支持

确保你安装了 Git for Windows,它附带了 git svn:

官网地址:https://git-scm.com/download/win
2. 克隆 SVN 仓库为 Git 仓库(保留历史)
git svn clone <SVN_REPO_URL>  my-git-repo
3. 进入 Git 仓库并完成同步
cd my-git-repo
git svn fetch
这一步将拉取剩余历史记录。
4. 打开 Sourcetree,查看日志
  • 打开 Sourcetree → 选择“打开现有仓库”;
  • 导航到 my-git-repo 文件夹;
  • 现在你可以在日志视图中查看完整的提交历史,原始 SVN 的提交者、时间、提交信息都被保留。



 楼主| 发表于 2025-8-31 12:20:55 | 显示全部楼层
对单个 Git 对象的大小限制为 200MB,任何文件超过这个大小就必须通过 Git LFS(Large File Storage) 来管理。
1. 安装 Git LFS(如果尚未安装)
git lfs track "*.dll"

2. 配置 Git LFS 跟踪 .dll 文件(或只指定你这个 DLL)
git lfs track "*.dll"
3. 添加 .gitattributes 并重新添加你的大文件
git add .gitattributes
4. 强制重新推送(带 Git LFS)
git push --force-with-lease origin master
 楼主| 发表于 2025-8-31 12:24:13 | 显示全部楼层
清除 Git 历史中已有的大文件

Git LFS 只能处理从现在开始的新提交,你必须先把旧的非 LFS 提交清除。

推荐使用 BFG Repo Cleaner
3.1 下载 BFG Repo Cleaner

官网下载地址:
&#128073; https://rtyley.github.io/bfg-repo-cleaner/
3.2 克隆一个裸仓库(适用于历史清理)
git clone --mirror https://codeup.aliyun.com/yourproject/visionPLus.git
cd visionPLus.git
3.3 使用 BFG 清除 DLL 文件
java -jar bfg.jar --delete-files cusparse64_12.dll
3.4 清理并强制推送
git reflog expire --expire=now --all
git gc --prune=now --aggressive
git push --force
步骤四:重新 clone 清理后的仓库,提交 DLL(用 LFS)
 楼主| 发表于 2025-8-31 12:24:24 | 显示全部楼层
重要提醒:

你必须清除 Git 历史中已有的 2XXMB DLL(否则永远推不上去);

单纯使用 git lfs track 是不够的;

使用 BFG 后,其他协作者需要重新 clone 仓库,因为历史会被重写!
 楼主| 发表于 2025-8-31 12:25:09 | 显示全部楼层
bash: java: command not found
说明你当前系统中 没有安装 Java 运行环境(JRE 或 JDK),而 BFG Repo Cleaner 是基于 Java 的工具,必须安装 Java 才能运行。
 楼主| 发表于 2025-8-31 12:25:28 | 显示全部楼层
方法 1:安装 OpenJDK(推荐)
Windows 快速安装步骤:

打开 Adoptium 官方下载页
https://adoptium.net/zh-CN/temur ... _source=chatgpt.com
选择:
  • Operating System: Windows
  • Architecture: x64
  • Version: 17 (or 11 or 8)

点击 JDK Installer 下载 .msi 文件
安装后勾选 “Add to PATH”(或者手动设置)


 楼主| 发表于 2025-8-31 12:27:17 | 显示全部楼层
在 Git Bash 或 CMD 中运行:
java -version
成功时会输出类似:
openjdk version "17.0.8" ...
然后重新运行 BFG 命令
java -jar bfg.jar --delete-files cusparse64_12.dll
这将会清理 Git 历史中出现的该大文件。

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|几何尺寸与公差论坛

GMT+8, 2025-11-28 05:48 , Processed in 0.042630 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表