Git是当今最流行的版本控制系统,之所以最为流行,主要是因为两大亮点,开源和分布式。免费的东西,大家都喜欢,而且KK大神在《必然》中也做过分析和预测,开源和免费,是平台软件产品发展的必然,未来世界需要付费的,基本都是需要根据具体需求进行定制化的内容。分布式的特点,是Git与SVN的最大区别,优势在于更加注重个体的离线开发,并且减轻了公共服务器的数据量压力,缺点在于大家都能够拿到完整的源码(对于开源代码而言,完全不是问题)。
对于Git与SVN的区别,《Git教程》中的描述简洁明了,大家可以参考。
学习参考资料
对于新入门的同学,可以参考《Git教程》:https://www.runoob.com/git/git-tutorial.html
如果说想看生动有趣一些的,可以参考《连猴子都能懂的Git入门指南》:https://backlog.com/git-tutorial/tw/
最全面权威的则莫过于《Git官方文档》:https://git-scm.com/book/zh/v2
Git官网链接:https://git-scm.com/
操作系统分类
对于Linux用户,基本都是使用Command,没什么违和感。Git的初衷便是为了协助管理Linux内核的开发代码。
对于Windows和Mac用户,考虑到界面化的操作习惯,建议使用Sourcetree,具体的安装和使用教程,可以参考官方文档:https://confluence.atlassian.com/get-started-with-sourcetree
Git命令使用的超级简化流程
下面整理了工作中经常使用的Git命令,以及code修改提交流程。
1)抓取代码
git clone <需要抓取的code访问地址> //使用该命令可以将远程仓库克隆到本地
2)查看所有分支
git branch -a //列出所有本地及远程(remote)分支,如果不加-a,则列出所有本地分支
3)迁出需要修改的分支代码到本地仓库
git checkout <需要修改的分支> //抓取指定分支对应的代码
4)更新本地仓库代码
git pull //更新本地代码,以便与远程仓库代码保持一致
5)新建远程分支并迁出到本地
git checkout -b <新建分支名称> //新建分支用于修改code
6)使用git branch确认当前code处于新建分支,正在使用的分支名称前,会有星号(*)标识,然后进行代码修改
7)获取有差异的文件列表
git status //通常只会列出刚刚修改过的文件,如果差异文件很多,需要检查是否修改的分支是正确的
8)添加需要提交的修改
git add <文件列表中需要提交的文件名> //此时可以使用Tab键自动补充文件名
9)提交修改到本地仓库
git commit -m “log” //双引号内为所提交修改的备注信息
10)推送到远程仓库的对应分支
git push -u origin <新建分支名称> //通常会先将修改推送到对应的远程分支,然后再执行Merge操作合入修改