Git 的正确使用姿势与最佳实践
Git的重要性
我们为什么要使用Git?
答:Git虽然可能不会出现在面试中,但是在我们入职后都会按照文档进行Git设置,业界中绝大多数公司都是基于Git进行代码管理,目前绝大多数的开源项目也都是基于Git维护的,参与这些项目的开发都需要使用Git,因此Git是一个程序员的必备技能。
为什么会学习这门课程呢?
答:因为缺少自己排查问题的能力,研发过程中进行一些异常操作,不符合研发规范,不清楚保护分支,MR/PR等,概念。希望学习完这门课能学习到基本的Git命令,并了解原理,在遇到Git问题相关问题时,能自行排查并解决,了解到研发流程中的基本概念和规范,学会正确使用Git。
Git是什么?
Git是什么?
答:Git是一个免费的开源分布式版本控制系统,旨在以快速和高效的方式处理从小型到超大型项目的所有内容。
版本控制是什么?
答:一种记录一种或者若干种文件内容变化,以便将来查阅版本修订情况的系统。
为什么需要版本控制?
答:能够更好的关注变更,了解每个版本的改动,方便对改动的代码进行检查,预防事故发生;也能够随时切换到不同版本,回滚误删误改的问题代码,
版本控制都有哪些呢?
- 本地版本控制PCS,通过本地复制文件夹,来完成版本控制,一般可以通过不同的文件名来区分版本
- 集中式版本控制SVN,提供一个远端服务器来维护代码版本,本地不保存代码版本,解决了多人协作问题
- 分布式版本控制Git,每个仓库都能记录版本历史,解决只有一个服务器保存版本的问题。
其中我们来着重分析一下分布式版本控制。
代表工具就是Git
基本原理:
- 每个库都有完整的提交历史,可以直接在本地进行代码提交
- 每次提交记录都是完整的文件快照,而不是记录增量
- 通过Push等操作来完成和远端代码的同步
优点:
- 分布式开发,每个库都有完整的提交历史,支持本地提交,强调个体
- 分布式管理功能强大,方便团队合作,多人协同开发
- 校验和机制保证完整性,一般值添加数据,很少执行删除操作,不容易导致代码丢失
缺点:
- 相对于SVN更复杂,学习成本更高
- 对于大文件的支持不是特别好
这一章详细的分析了Git是什么,什么是Git,以及Git相比于其他控制版本的一些优势与不足,下一章我们将学习Git的基本使用方法。