Git初识
Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
Git官网定义及下载:Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
Git基本命令
- 配置-用户名和邮箱
git config --global user.name "hellocworld"
git config --global user.email helloworld@gmail.com - 初始化创建
mkdir test
cd test
git init - 提交代码
git.add .
git commit -m "readme.md"
git push origin master - 远端仓库同步
连接远端仓库 git remote add
常用的命令包括clone、pull、fetch等
clone:拉取完整的仓库到本地目录
fetch:将远程某些分析最新代码拉去到本地
pull:拉取远端某分支,并和本地代码进行合并,等用于git fetch + git merge - 其他命令
分支
查看分支 git brach 分支合并 git merge - Objects
git中commit、tree、blob以及tag的object统称为Object。
Blob存储文件的内容, Tree存储文件的目录信息,Commit存储提交信息,对objects更加理解。
认识和了解不同类型的Object,包括新增的Object和悬空的Object(没有ref指向的object) - Refs
Refs文件存储的内容是对应的Commit ID,ref作为指针,指向对应的Commit来表示当前Ref对应的版本, 还有不同的ref种类。 - 其他
Git GC 删除不需要的object,节省开销
Git扩展学习
- 版本控制
本地版本控制(RCS)、集中式版本控制(SVN)、分布式版本控制(Git)。
对不同的版本控制的定义和应用场景有一定的认识。
自己对于Github的使用频率比较高,关于Gitlab和Gerrit的认识还不够。 - 研发流程
主流的工作流:集中式工作流、分支管理工作流
集中式工作流:只依托master分支进行研发活动
分支管理工作流:主要有Git Flow、Github Flow、Gitlab Flow
如何选择合适的工作流
没有最好的,只有最合适的。根据合作需求,选择相应的工作流。
Summary
此次学习对Git有了一定的认识,对基本的使用命令以及工作研发流程有了更多的认识。对于实现原理及多场景下的使用还是不足的,还需更多的学习,拿下Git!
GOGOGO!