95 lines
5.8 KiB
Markdown
95 lines
5.8 KiB
Markdown
# 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。
|