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

95 lines
5.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Git 上传准备记录
本文记录当前工作空间上传 Git 前已经完成的准备,以及后续推送远端时需要注意的事项。
## 已处理
- 已新增根目录 `.gitignore`,排除 colcon 构建产物、Python 缓存、日志、IDE 数据库和本地助手状态目录。
- 已新增根目录 `.gitattributes`,将 `.pcd``.db3``.bag``.mcap`、模型文件、静态库、动态库、压缩包和较大的 GIF 标记为 Git LFS 文件。
- 已确认本机安装了 Git LFS`git-lfs/3.0.2`
- 已确认当前未发现 `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 状态。
- 当前未配置远端仓库。
- 当前有 26 个文件由 Git LFS 管理。
## 大文件
当前最大本地生成物是 `.vscode/browse.vc.db`,约 867 MB,已通过 `.gitignore` 排除。
仍然建议使用 Git LFS 管理以下类型的大文件:
- 点云和地图测试数据:`*.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
```
如果远端平台需要 Git LFS,请确认远端仓库已启用 LFS,并在推送前执行:
```bash
git lfs install
git lfs ls-files
```
如果以后决定改成 submodule 管理第三方依赖,需要从当前单体仓库方式重新设计
`.gitmodules`,并替换对应目录的 vendored source。