0
1. 同步远程最新代码
git pull origin main
如果远程有他人(或你在网页上)提交的新内容,会拉取并合并到本地。
2. 查看当前仓库状态
git status
查看哪些文件被修改了、哪些是新增的、哪些未被跟踪。
确认没有意外修改或遗漏重要文件。
3. 编辑你的代码
用你喜欢的编辑器修改文件。可以随时用git status或git diff查看改动。
4. 查看具体改动(可选)
git diff
显示尚未暂存的修改内容(红色删除、绿色新增)。
5. 添加需要提交的文件
方式 A:精确添加(推荐)
git add src/lidar_processing/xxx.cpp # 添加单个文件 git add src/perception_msgs/ # 添加整个目录
方式 B:添加所有修改(需确保已正确配置 .gitignore)
git add .
如果你已创建了
.gitignore并且确信所有改动都应该上传,可以用git add .。否则建议精确添加,避免误提交
build/、log/等大文件或敏感文件。
6. 提交到本地仓库
git commit -m "清楚描述本次改动"
提交信息建议用现在时态,例如 “Add lidar clustering node” 或 “Fix perception message definition”。
7. 推送到 GitHub
git push
因为你已经用
-u设置了上游分支,直接git push即可。如果提示认证失败,输入你的用户名和Personal Access Token(不要用密码)。
git log --oneline --all
1
1. 怎么恢复 commit(退回)?
方法 A:git reset—— 真正撤销提交(会改写历史)
git reset是把分支指针往回移动,相当于“删除”一些提交。它有三种模式:
--soft:只撤销 commit,但保留修改(修改还在暂存区)。--mixed(默认):撤销 commit 和暂存,但保留工作区修改(修改还在文件里,但未暂存)。--hard:彻底丢弃 commit 和所有修改,文件内容也恢复到之前的状态(危险,慎用!)。
常用场景:我刚提交了一个错误的 commit,想撤销它但保留我的代码改动
git reset --soft HEAD~1
HEAD~1表示“上一个提交”,也就是回退一步。--soft让你回退后,修改仍然存在,你可以重新修改后再提交。
如果想彻底放弃这次提交的所有改动(回到提交前的干净状态)
git reset --hard HEAD~1
警告:这会丢掉你上次提交后所有文件的变化,无法找回,除非你有备份。
方法 B:git revert—— 创建一个新的提交来“抵消”旧提交(安全)
git revert不会删除历史,而是生成一个新的提交,内容是撤销指定提交的改动。这适合已经推送到远程、不想改写历史的场景。
git revert <提交哈希>
2
2. 怎么设置版本?比如修改多个文件后,打一个版本标记,以后可以直接查看整套代码
在 Git 中,每一个 commit 本身就是一个完整快照,你不需要特别“设置版本”,每次提交后你都可以通过 commit 的哈希值回到那个状态。
但是哈希值很难记,所以 Git 提供了tag(标签)功能,可以给某个 commit 取一个好记的名字,比如v1.0、v2.0。
打标签
确保你已经提交了所有想要包含在这个版本里的修改:
git add . git commit -m "完成 v1.0 功能"
给当前提交打一个标签:
git tag v1.0
给某个提交打标签(用
git log --oneline查看哈希),然后:git tag v1.0 <提交哈希>
推送标签到远程(可选,但通常需要):
git push origin v1.0
或者一次推送所有标签:
git push --tags
删除本地标签 v2.0
git tag -d v2.0
删除远程标签
git push origin --delete v1.0