实习的收获(1)--Git三板斧

101 阅读3分钟

💼 我的第一段 前端实习经历与 Git 实战心得 🚀

刚刚完成了职业生涯中的第一段专业实习(前端开发方向),想和大家分享这段宝贵经历中的收获与成长!

🌱 一切的开始

作为一名前端实习生,入职第一天就收到了项目主管的远程代码库权限。小明(化名)的第一项任务就是将远程代码拉取到本地,准备开始开发工作。

作为程序员,Git 是基本功没错吧?安装好 Git 后,小明自信地输入了:

git config --global user.name "小明"
git config --global user.email "xiaoming@xx.xxx"
git clone <项目地址>

😱 结果却显示「权限不足」?!明明主管已经开通了权限呀!

🔑 第一板斧:身份认证配置

原来,远程代码库平台并不认识小明用来拉取代码的身份。解决方案有两种:

  1. 配置 SSH 密钥 🔐
  2. 配置 HTTPS 密码 🔑

具体配置步骤可参考:阿里云云效 - 个人认证设置

完成配置后,终于成功拉取代码,可以舒舒服服地开始开发工作了!

小明进入努力开发模式 ✊

📝 第二板斧:规范的提交信息

当小明完成代码编写,准备提交时,mentor 佩奇急忙喊停:「提交前要先规范 commit 信息!」

原来企业项目需要多人协作,规范的提交信息至关重要。佩奇带着小明查看了 commitlint.config.js文件,里面定义了提交类型:

[
    'feat',     // ✨ 新功能
    'fix',      // 🐛 Bug修复
    'docs',     // 📚 文档变更
    'style',    // 💄 代码格式(不影响功能)
    'refactor', // ♻️  代码重构
    'test',     // ✅ 添加测试
    'chore',    // 🔧 构建过程或辅助工具变更
    'perf',     // ⚡ 性能优化
    'ci',       // 👷 CI配置变更
    'revert',   // ⏪ 回滚提交
    'build'     // 📦 构建系统或外部依赖变更
]

小明一点就通,立即回应:「Yes, sir!」

由于开发了涉及多个文件的新功能,小明原本打算:

git add path/to/feature1.js path/to/feature2.js path/to/feature3.js
git commit -m "feat: 新增1功能,新增2功能,新增3功能"

🙅♂️ 佩奇再次提醒:不可行!每个功能应该分开提交,因为:

  1. ​违反单一职责原则​​:一个提交应只做一件事
  2. ​不利于代码审查​​:审查者难以区分每个功能的具体变更
  3. ​难以追踪问题​​:无法单独回滚某个功能
  4. ​违背 commit 规范​​:好的提交信息应清晰描述单一变更

✅ 正确的做法应该是:

# 分别添加和提交每个功能
git add path/to/feature1.js
git commit -m "feat: 新增1功能"

git add path/to/feature2.js
git commit -m "feat: 新增2功能"

git add path/to/feature3.js
git commit -m "feat: 新增3功能"

这样就清晰多啦!👍

🔄 第三板斧:优雅的代码推送

小明之前有个坏习惯,总是直接:

git push

这导致历史记录中出现很多不必要的 Merge 提交。同事分享了更优雅的方式:

git pull --rebase  # 先变基拉取最新代码
git push           # 再推送

🎯 总结

回望这段实习经历,小明学到了在企业级项目中多人协作时规范化的 Git 操作流程,这些宝贵的经验将为未来的职业生涯打下坚实的基础!💪加油!