湖南大学机器人视觉感知与控制技术国家工程研究中心——工业通信与网络研究课题组
通感算控平台
Exporter for robot metrics
本文档面向课题组成员,介绍 Gitee 组织的使用方法、Git 基本操作以及仓库管理流程。
课题组在 Gitee 上创建了一个组织(Organization),用于集中管理所有科研代码、实验脚本、文档及项目资源。
| 角色 | 说明 |
|---|---|
| Owner(所有者) | 组织创建者,拥有全部管理权限(通常为课题组负责人或管理员) |
| Admin(管理员) | 可管理成员、仓库设置等 |
| Member(普通成员) | 可访问组织内仓库,根据权限进行读写操作 |
姓名-拼音 或 学号 等易识别的格式,方便管理员审核。有两种方式:
管理员通过组织后台生成邀请链接,发送给成员。成员点击链接后确认加入即可。
管理员收到申请后:
sudo apt install git(Ubuntu/Debian)或 sudo yum install git(CentOS)。brew install git 或通过 Xcode Command Line Tools 安装。安装完成后设置用户信息:
git config --global user.name "你的姓名"
git config --global user.email "你的邮箱@example.com"
使用 SSH 方式可以避免每次操作都输入密码。
# 生成 SSH 密钥
ssh-keygen -t ed25519 -C "你的邮箱@example.com"
# 查看公钥内容
cat ~/.ssh/id_ed25519.pub
将输出的公钥内容复制到 Gitee:
Gitee 右上角头像 → 设置 → SSH 公钥 → 添加公钥
验证是否配置成功:
ssh -T git@gitee.com
若返回 Hi xxx! You've successfully authenticated... 即表示配置成功。
# HTTPS 方式
git clone https://gitee.com/组织名/仓库名.git
# SSH 方式(推荐)
git clone git@gitee.com:组织名/仓库名.git
# 查看当前状态
git status
# 拉取远程最新代码(每次开始工作前执行)
git pull
# 添加文件到暂存区
git add 文件名 # 添加单个文件
git add . # 添加所有修改
# 提交到本地仓库
git commit -m "提交说明"
# 推送到远程仓库
git push
# 查看所有分支
git branch -a
# 创建并切换到新分支
git checkout -b 新分支名
# 切换回主分支
git checkout master
# 合并分支
git merge 要合并的分支名
# 删除本地分支
git branch -d 分支名
# 查看提交历史
git log --oneline
# 查看文件修改内容
git diff
# 查看某个文件的修改历史
git log -p 文件名
# 撤销工作区的修改(未 add)
git checkout -- 文件名
# 撤销暂存区(已 add,未 commit)
git reset HEAD 文件名
# 撤销上一次提交(已 commit,未 push)
git reset --soft HEAD~1
| 文件/目录 | 用途 |
|---|---|
.git/ |
Git 仓库的元数据目录,不要手动修改 |
.gitignore |
指定哪些文件/目录不被 Git 追踪(如编译产物、临时文件等) |
README.md |
仓库说明文件,显示在仓库首页,介绍项目用途、安装与使用方法 |
LICENSE |
开源许可证文件,声明代码的使用条款 |
.gitattributes |
指定文件的 Git 属性(如换行符处理、二进制文件标记等) |
.editorconfig |
统一不同编辑器的代码格式配置 |
docs/ |
项目文档目录 |
src/ |
源代码目录 |
tests/ |
测试代码目录 |
requirements.txt |
Python 项目依赖列表 |
CMakeLists.txt |
C/C++ 项目的 CMake 构建配置 |
Makefile |
Make 构建脚本 |
以下是一个通用的 .gitignore 模板:
# 编译产物
*.o
*.exe
*.dll
*.so
*.out
build/
dist/
# Python
__pycache__/
*.py[cod]
*.egg-info/
.venv/
env/
# IDE / 编辑器
.idea/
.vscode/
*.swp
*.swo
# 系统文件
.DS_Store
Thumbs.db
# 数据文件(根据需要调整)
*.csv
*.xlsx
*.dat
*.pcap
# 密钥与敏感信息
.env
*.pem
*.key
注意:实验数据、密钥文件、大型二进制文件等不应提交到 Git 仓库。大型文件可使用 Gitee 的 Release 附件 或 Git LFS 管理。
| 字段 | 说明 |
|---|---|
| 仓库名称 | 使用英文、小写、中划线分隔,如 industrial-protocol-simulation
|
| 仓库介绍 | 简要描述项目用途 |
| 是否开源 | 根据项目需求选择(见下方说明) |
| 初始化仓库 | 建议勾选,添加 README、.gitignore 和 LICENSE |
| 选择分支模型 | 可选单分支(master)或多分支(master + develop) |
| 对比项 | 开源(Public) | 闭源(Private) |
|---|---|---|
| 可见性 | 任何人可见 | 仅组织成员可见 |
| 适用场景 | 已发表论文的配套代码、工具库 | 未发表研究、含敏感信息的实验代码 |
| 协作性 | 外部用户可 Fork 和 PR | 仅内部成员协作 |
| 费用 | Gitee 免费 | Gitee 私有仓库有数量限制(免费版最多 5 个) |
已发表论文配套代码 / 通用工具 → 开源(Public)+ MIT License
未发表研究 / 含敏感数据 → 闭源(Private)
建议统一命名格式:
<研究方向>-<项目名称>
示例:
icn-industrial-protocol-analysisicn-network-simulationicn-edge-computing-frameworkicn-opcua-implementation管理员可以在仓库 管理 → 仓库成员管理 中设置成员权限:
| 权限 | 说明 |
|---|---|
| 管理员(Admin) | 可修改仓库设置、管理成员、强制推送 |
| 开发者(Developer) | 可推送代码、管理 Issue 和 PR |
| 报告者(Reporter) | 只能查看代码、提交 Issue,不能推送 |
一般建议:
创建仓库后,建议完成以下设置:
master 或 main)。master(主分支) —— 稳定版本,只通过合并请求合并
└── develop(开发分支) —— 日常开发
└── feature/xxx(功能分支) —— 具体功能开发
# 1. 拉取最新代码
git checkout develop
git pull
# 2. 创建功能分支
git checkout -b feature/new-protocol-parser
# 3. 编写代码并提交
git add .
git commit -m "feat: add new protocol parser module"
# 4. 推送到远程
git push -u origin feature/new-protocol-parser
然后在 Gitee 上创建 Pull Request(合并请求):
feature/new-protocol-parser → 目标分支 develop。建议使用语义化提交信息:
<类型>: <简要描述>
类型:
feat 新功能
fix 修复 Bug
docs 文档修改
style 代码格式调整(不影响逻辑)
refactor 重构
test 测试相关
chore 构建工具、依赖更新等
示例:
feat: add Modbus TCP protocol parser
fix: fix buffer overflow in packet decoding
docs: update README with installation instructions
当多人修改同一文件时可能出现冲突:
git pull # 拉取远程更新,可能提示冲突
# 手动编辑冲突文件,解决 <<<<<<< 和 >>>>>>> 标记
git add 冲突文件
git commit -m "fix: resolve merge conflicts"
git push
rejected?远程有新的提交,本地落后于远程。先 git pull 拉取更新后再推送。
# 方法一:新增一个反向提交(推荐,安全)
git revert <commit-hash>
git push
# 方法二:回退本地并强制推送(危险,仅在自己的分支上使用)
git reset --hard <commit-hash>
git push -f
git clone -b 分支名 git@gitee.com:组织名/仓库名.git
Gitee 单文件限制 100MB。解决方案:
.gitignore
git filter-branch 或 BFG Repo-Cleaner 清除历史。| 资源 | 链接 |
|---|---|
| Git 官方文档 | [https://git-scm.com/doc](https://git-scm.com/doc |
| Git 命令速查表 | https://education.github.com/git-cheat-sheet-education.pdf |
| Gitee 帮助中心 | https://gitee.com/help |
| Git LFS 文档 | https://git-lfs.github.com |
| 语义化提交规范 | https://www.conventionalcommits.org |
| 开源许可证对比 | https://choosealicense.com |
本文档由工业通信与网络研究课题组维护。如有疑问或建议,请联系组织管理员。