Files
FaRui_Campus_ADS/docs/git-upload-prep.md
T

88 lines
5.8 KiB
Markdown

# Git 上传准备记录
本文记录当前工作空间上传 Git 前已经完成的准备,以及后续推送远端时需要注意的事项。
## 已处理
- 已新增根目录 `.gitignore`,排除 colcon 构建产物、Python 缓存、日志、IDE 数据库和本地助手状态目录。
- 已新增根目录 `.gitattributes`,将 `.pcd``.db3``.bag``.mcap`、模型文件、静态库、动态库、压缩包和较大的 GIF 标记为普通 Git 二进制文件。
- 远端 Git LFS 接口不可用,已将原 LFS 指针转回普通 Git 对象。
- 已确认当前未发现 `build/``install/``log/` 目录。
- 已备份并删除无效/嵌套 `.git/` 元数据,备份目录为 `/tmp/farui_git_metadata_backup_20260605_132216`
- 已初始化根目录 Git 仓库,当前分支为 `main`
- 已创建本地初始提交,提交信息为 `Initial import of FaRui Autoware Dual-Orin Stack`
- 已规范 Git 中的 executable bit,仅保留带 shebang 的脚本为可执行。
## 当前仓库状态
- 根目录只有一个有效 `.git/`
- 工作区当前为 clean 状态。
- 当前远端仓库为 `http://git.fairylandtech.com/whut/FaRui_Campus_ADS.git`
- 当前没有文件由 Git LFS 管理。
## 大文件
当前最大本地生成物是 `.vscode/browse.vc.db`,约 867 MB,已通过 `.gitignore` 排除。
当前内部 Git 服务器没有可用的 LFS 接口,因此以下类型的大文件以普通 Git 二进制文件提交:
- 点云和地图测试数据:`*.pcd`
- ROS bag 数据:`*.db3``*.bag``*.mcap`
- SDK 或第三方二进制库:`*.a``*.so`
- 模型和推理制品:`*.onnx``*.engine``*.pt``*.pth`
- 压缩包和大型演示图:`*.zip``*.tar*``*.gif`
### 嵌套 Git 仓库
工作空间内存在多个嵌套 `.git/` 目录。若直接在根目录提交,Git 会把这些目录识别为
嵌入式仓库或 submodule 风格条目,容易导致克隆后源码不完整。
建议二选一:
- 作为 vendored source:记录来源和 commit 后,删除内部 `.git/` 目录,把源码完整纳入主仓库。当前初始提交采用此方式。
- 作为 submodule:在根仓库中正式配置 `.gitmodules`,由 Git 管理第三方依赖版本。
当前记录到的嵌套仓库如下:
| 路径 | Commit | Remote |
| --- | --- | --- |
| `master/src/Api/tier4_ad_api_adaptor` | `3de19bc` | `https://github.com/tier4/tier4_ad_api_adaptor.git` |
| `master/src/Driver/Camera/hikvision_ros2_driver` | `a2f8538` | `https://github.com/sjtu-cyberc3/hikvision_ros2_driver.git` |
| `master/src/Driver/Vehicle/ros2_socketcan` | `85da8c3` | `https://github.com/autowarefoundation/ros2_socketcan` |
| `master/src/Mapping/fast_lio2` | `18418bc` | `https://github.com/Ericsii/FAST_LIO_ROS2.git` |
| `master/src/Mapping/liorf` | `da22fa0` | `https://github.com/YJZLuckyBoy/liorf.git` |
| `master/src/Mapping/livox_ros_driver2` | `378d1c7` | `https://github.com/Ericsii/livox_ros_driver2.git` |
| `master/src/Vehicle/sensor_component_description` | `0798200` | `https://github.com/tier4/sensor_component_description.git` |
| `master/src/universe/common/glog` | `ea36766` | `https://github.com/tier4/glog.git` |
| `master/src/universe/common/muSSP` | `c79e98f` | `https://github.com/tier4/muSSP.git` |
| `master/src/universe/core/autoware_cmake` | `890e312` | `https://github.com/autowarefoundation/autoware_cmake.git` |
| `master/src/universe/core/autoware_common` | `6752ca7` | `https://github.com/autowarefoundation/autoware_common.git` |
| `master/src/universe/core/autoware_lanelet2_extension` | `6fc35a0` | `https://github.com/autowarefoundation/autoware_lanelet2_extension.git` |
| `master/src/universe/core/autoware_msgs/autoware_adapi_msgs` | `2512a4f` | `https://github.com/autowarefoundation/autoware_adapi_msgs.git` |
| `master/src/universe/core/autoware_msgs/autoware_internal_msgs` | `4f5feff` | `https://github.com/autowarefoundation/autoware_internal_msgs.git` |
| `master/src/universe/core/autoware_msgs/autoware_msgs` | `4f9f1c0` | `https://github.com/autowarefoundation/autoware_msgs.git` |
| `master/src/universe/core/autoware_utils` | `451419e` | `https://github.com/autowarefoundation/autoware_utils.git` |
| `slave/src/Api/tier4_ad_api_adaptor` | `3de19bc` | `https://github.com/tier4/tier4_ad_api_adaptor.git` |
| `slave/src/Driver/Vehicle/Pixkit_Chassis_Driver/pix_driver` | `a0c4902` | `https://github.com/pixmoving-moveit/pix_driver.git` |
| `slave/src/Driver/Vehicle/ros2_socketcan` | `85da8c3` | `https://github.com/autowarefoundation/ros2_socketcan` |
| `slave/src/Vehicle/sensor_component_description` | `0798200` | `https://github.com/tier4/sensor_component_description.git` |
| `slave/src/universe/core/autoware_cmake` | `890e312` | `https://github.com/autowarefoundation/autoware_cmake.git` |
| `slave/src/universe/core/autoware_common` | `6752ca7` | `https://github.com/autowarefoundation/autoware_common.git` |
| `slave/src/universe/core/autoware_lanelet2_extension` | `6fc35a0` | `https://github.com/autowarefoundation/autoware_lanelet2_extension.git` |
| `slave/src/universe/core/autoware_msgs/autoware_adapi_msgs` | `2512a4f` | `https://github.com/autowarefoundation/autoware_adapi_msgs.git` |
| `slave/src/universe/core/autoware_msgs/autoware_internal_msgs` | `4f5feff` | `https://github.com/autowarefoundation/autoware_internal_msgs.git` |
| `slave/src/universe/core/autoware_msgs/autoware_msgs` | `4f9f1c0` | `https://github.com/autowarefoundation/autoware_msgs.git` |
| `slave/src/universe/core/autoware_utils` | `451419e` | `https://github.com/autowarefoundation/autoware_utils.git` |
## 后续推送流程
添加远端仓库后推送:
```bash
git remote add origin <远端仓库地址>
git push -u origin main
```
如果以后决定改成 submodule 管理第三方依赖,需要从当前单体仓库方式重新设计
`.gitmodules`,并替换对应目录的 vendored source。