当前位置: 首页 > news >正文

GIT使用小白(进阶一)


🧩《个人 Git 使用最佳实践手册》

适用角色:
✔ 你是某个模块的开发者
✔ 有自己的个人开发分支(green_dev_luyi)
✔ yellow_validate 属于公共验证分支
✔ 要定期同步 yellow 的更新
✔ 最终要从自己分支发起 Merge Request(MR)


⭐ 总准则(写在最前,不用记命令)

  1. 你永远只写自己的分支,不直接修改 yellow_validate。
  2. 同步 yellow → 用 rebase,不用 merge(更干净)
  3. 网页合并 MR,不要本地 merge yellow
  4. 自己的分支 push 用 --force(因为用过 rebase)
  5. 每次开发前先更新你的分支(rebase)

🎯 典型流程(你每天用的)

🟦 1. 切到自己的开发分支

git checkout green_dev_luyi

🟦 2. 保持你的分支与 yellow 保持最新(最重要)

每次开始写代码前,都要做这个:

git fetch origin git rebase origin/yellow_validate

如果没有冲突 → 成功
如果有冲突:

(手动改冲突) git add . git rebase --continue

好处:你的分支永远是干净的直线历史。


🟦 3. 开发代码,提交

git add . git commit -m "your message"

🟦 4. 推到远端自己的分支

因为你使用了 rebase,提交 hash 被改写 → 必须强制推送:

git push origin green_dev_luyi --force

🟦 5. 去 GitLab 提 MR

创建:

green_dev_luyi → yellow_validate

等待代码审查 → 完成。


🎉 这样你的 Git 历史会一直保持最干净:

yellow ---- A ----- B ----- C \ (你的分支) D' -- E' -- F'

完全不会出现:
✘ Merge branch ‘yellow’…
✘ 多条乱七八糟的合并记录
✘ 无意义的 merge commit 堆积


📚 附录:你会必用的 Git 指令(精简解释版)

⭐ 基础(每天用)

git status # 看当前状态 git branch -vv # 看当前分支跟踪的远端分支 git add . # 加入暂存区 git commit -m "msg" # 提交 git push # 推送 git pull # 拉取并合并(不推荐用于你的分支)

⭐ rebase(你主要用的)

git fetch origin git rebase origin/yellow_validate git rebase --continue git rebase --abort

⭐ 推送

git push origin green_dev_luyi --force

⭐ 查看提交历史(你会很常用)

git log --oneline --graph --all

⭐ 撤销操作

git restore <file> # 撤销未提交的改动 git reset --hard # 重置到上次提交(慎用)

⭐ stash(临时存代码)

git stash git stash pop git stash list git stash drop

🧰(可选)如何保持分支干净简洁?

如果你 commit 太多、很乱,可以压缩整理:

git rebase -i HEAD~5

可把多个 commit 合成一个,提高代码审查体验。


🔒 安全原则(非常重要)

永远不要在别人的分支(如 yellow_validate)执行:

git push git commit git merge xxx git reset --hard

你只需要 Panel 上开 MR,让别人合。


🎯 最终一句话总结

你所有开发全在 green_dev_luyi 上 →
用 rebase 同步 yellow →
push 自己分支 →
GitLab 上发 MR → 合到 yellow。

流程轻松稳定,历史干净无 merge。

http://www.cnnetsun.cn/news/18416.html

相关文章:

  • Python + Ursina设计一个有趣的3D小游戏
  • 企业级Spring应用启动失败排查实战
  • GeoJSON.io:零基础地理数据编辑工具完全指南
  • 特斯拉11月在美销量跌至近四年低点,廉价车型未扭转颓势
  • LangChain4j 比 SolonAI 强在哪?弱在哪?
  • CodeQwen1.5微服务开发实战:从架构设计到部署上线的完整指南
  • 从零玩转RT-Thread(20):为什么需要定时器?——定时器的应用场景
  • eino框架结构化输出解析:从混乱文本到精准数据的魔法转换
  • 小爱音箱终极音乐解放方案:XiaoMusic完整使用指南
  • 从零打造专业级Vue滑块控件:vue-slider-component深度实践指南
  • AnuPpuccin主题深度体验:5个技巧让你的Obsidian笔记焕然一新
  • AI一键搞定!Linux安装JDK17的最佳实践
  • Win11Debloat:释放系统潜能,打造专属纯净Windows体验
  • Python Web开发终极指南:用Ludic框架重构你的前端体验
  • F2批量重命名终极指南:从入门到精通的完整解决方案
  • 深蓝词库转换工具的技术架构与应用实践
  • 2025年CLIP模型爆发:从跨模态基座到产业变革的技术革命
  • 腾讯混元图像3.0登顶全球!800亿参数重构AIGC行业格局
  • halcon求区域交集——intersection
  • 如何用5分钟掌握AMD Ryzen处理器深度调试技巧?终极完整教程
  • 终极Nginx Web界面管理指南:从入门到精通的一站式解决方案
  • 收藏!大模型推理核心:从Prefill到KVCache,小白也能懂的底层逻辑
  • PySceneDetect终极指南:零基础实现智能视频场景自动化分割
  • 5分钟搞定Windows应用拦截:效率提升指南
  • 基于VUE的线上签到系统[VUE]-计算机毕业设计源码+LW文档
  • 深度解析vue-slider-component:打造高度定制化的Vue滑块组件
  • Pose-Search终极指南:开启智能人体姿势识别新纪元
  • 基于VUE的文章发布系统[VUE]-计算机毕业设计源码+LW文档
  • BBDown:B站视频下载的终极解决方案
  • Dify企业级实战深度解析 (5)