Git作为一款分布式版本管理工具,受到许多资深码农喜爱,我也刚好是其中一位。
百度上有许多介绍git安装教程、和svn的区别,这些都不再重复,好多也是介绍命令模式操作git,但是今天我要讲的是图形化操作,也许很多人认为命令模式很炫,能体现出来高手派风,但是我的观点是图形化其实作为全览整个历史版本,并做出合理控制的不二选择。越来越多的软件也将会慢慢以人性化为发展标的。
一般常见的是Source Tree、TortoiseGit 等图形化工具,今天以TortoiseGit为例讲解一些重点实战操作,有好多网站讲的理论性太多,但是没有具体到实际运用怎么具体使用,现在讲解下,可以供大家交流学习,欢迎进行斧正,安装教程请自行百度。
其实git的用法,个人总结的优化方案为
- 提(commit): 代码凡是有变动,本地先提交准无错
- 抓(fetch): 代码凡是更新用fetch,莫用pull添迷惑
- 变基(rebase):多人操作用rebase,分支干净又整洁,新人看了也不怕,不然准保半途弃,重回svn小怀抱
- 编辑冲突(conflict):代码冲突必解决,小乌龟自带编辑器显神威,编辑过后标记已解决,关闭窗口即ok,所有冲突解决完毕,会显示提交,提交完毕,日志界面可push
小乌龟git客户端自带冲突编辑器
右键可以提交解决过的branche,此处仅为图片示例,不是实际提交分支
5. 推(push): push过后,流程结束
只要这四步做好,版本基本不会出现混乱问题,不要使用有些教程中的更新代码直接使用pull操作,这样代码下来就会自动合并或者出现一堆conflict,造成不必要的迷惑,而且除非项目经理或者架构师对git有一定理解可以视情况使用merge操作,其它开发人员应规避使用merge操作,避免分支将会异常混乱,我打赌要是去区分分支和日志记录,能累死一头牛。rebase操作将会保证每个分支的简洁性。希望还在盲目用pull和merge操作的小伙伴们谨慎使用,工作中发现好多人都用的这两个操作。
多人merge效果图
篇幅所限,精力所限,此篇文章先介绍git图形客户端操作实战方法和规范,后续篇章将介绍服务端,reset,如何删除服务端提交记录(这个功能后续介绍,怕有的小伙伴不小心干掉服务端代码,被祭天,这是个隐藏小技巧,知道的人不多),服务端搭建,分支和里程碑,如何保护分支等。谢谢,有问题大家请交流!