关于Git学习推荐
Git学习除了推荐官方网站:https://git-scm.com/之外,
我个人比较推荐初学者或者被动使用者可以学习参考廖雪峰的这个教程:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/00137402760310626208b4f695940a49e5348b689d095fc000
推荐官方教程的理由是最权威最详细,推荐廖雪峰教程的原因是可以帮助初学者或者是英语不是特别好的朋友们深入浅出的学习。
不过我个人还是比较推崇官网。当然了,廖雪峰前辈的Git教程也很不错,我记得当初在校学习的时候,参考的就是他的教程。
让我不仅想起了,没有Git,也没有SVN的日子,动态web项目,和同学们一起手动来合并代码,事实证明这样效率低且出问题率高。我最先接触的版本控制还是Git,Git给我的感觉是用起来还是挺爽的。比如只要电脑在手,在哪都可以开发。而SVN就不能了。虽然说,SVN也有其代码托管,不过我还是喜欢Git。
Git和SVN及其很久之前的CVS存在什么区别,和Git的基础使用大家可以参考廖雪峰的教程。我就不再赘述。
今天我重新温习了下廖雪峰的Git教程,发现虽然开发有很长时间了,但是我对Git只仅仅局限在那么几个简单使用和简单命令而已。关于Git的代码审核和其他诸多功能我还是不太了解。当然了,自开发以来遇到的大大小小问题,发现了一个很重要的原因就是原理不懂。当使用比较熟练时,同时也看了一些相关的书籍,参考了一些朋友们写的博文,深受感触,自那后,出的问题也很少了。我想这就是收获,解决了问题,并知道了原理。
比如,今天一位同事在使用git的时候,由于忽略了git它本身存在一个叫暂存区的概念,导致代码无法提交。
git有工作区和暂存区,看的见的叫工作区,看不见的叫暂存区。
git add .相当于将文件提交到暂存区,git commit -m 'test' 相当于提交到本地仓库,最后通过git push -u origin master提交到主分支上。
当然这里还有一点要强调的是,开发者们应该有自己的开发分支,主分支一般情况下都不能动,一般动的情况是,比如像我公司每周项目出一个版本,相当于礼拜一到礼拜五的5点前,一直都在自己的分支上开发,最后合并到开发者的主分支,通常叫devp分支,最后才合并到master分支。
不过事实上,我们并没有这么做,导致的问题是,如果我们团队某个人不细心的话,比如,一般提交代码,要么是新增功能,或解决Bug,或优化某个模块等等。通常提交代码,自己并没有仔细测试,直接提交上来,导致最后,测试人员说,这么明显的bug,你们居然没有发现。那真的是有种打脸的感觉。
暂不说面子上过不去,面子事小,成本事大,就是因为没有仔细测试,导致代码出Bug,为了解决这个Bug又得拉代码开工干,其实如果在提交前仔细测试是可以避免的,自开发以来,我发现很多情况,就是因为我们软件开发者们的“懒惰”导致许多不必要的Bug。我自己当初也是如此,就是现在而言,也会犯一些错误,犯错有其自身要素,还有其制度原因。如果建立良好的代码审核制度,我觉得应该可以提高代码质量,虽说之前我写了关于Sonar的使用博文,Sonar是一款代码质量检测工具,有助于提高代码质量,但是并不具有强制性作用。关键还是自觉。但是人的自觉性,是会变的,受环境影响。制度才是王道。
这篇文章给我很大的启发,希望意识到这个问题的朋友们都可以看看:
https://www.cnblogs.com/wenhx/p/How-We-Code-Review.html
接下来我将尝试在公司推进代码审核制度,不过在此我觉得还是有必要仔细研究一下,写一个可行性方案,这样于上级领导,于团队成员都有个交代。
关于Git学习推荐的更多相关文章
- 分布式版本管理git学习资料整理推荐
一.什么是git? Git is a free and open source distributed version control system designed to handle everyt ...
- Git学习笔记(10)——搭建Git服务器
本文主要记录了Git服务器的搭建,以及一些其他的配置,和最后的小总结. Git远程仓库服务器 其实远程仓库和本地仓库没啥不同,远程仓库只是每天24小时开机为大家服务,所以叫做服务器.我们完全可以把自己 ...
- Git学习之路(2)-安装GIt和创建版本库
▓▓▓▓▓▓ 大致介绍 前面一片博客介绍了Git到底是什么东西,如果有不明白的可以移步 Git学习之路(1)-Git简介 ,这篇博客主要讲解在Windows上安装Git和创建一个版本库 ▓▓▓▓▓▓ ...
- Git学习之路(5)- 同步到远程仓库及多人协作问题
▓▓▓▓▓▓ 大致介绍 我们写好文件后添加到版本库,但是这样还没有做完,我们还需要将它同步到GitHub的远程仓库上,这里就以我们刚开始的drag项目为例,我们在Git学习之路(2)-安装GIt和创建 ...
- Git学习备忘
本文参考廖雪峰写的精彩的git学习文档,大家可以直接去官网看原版,我这里只是便于自己记录梳理 原版地址:http://www.liaoxuefeng.com/wiki/0013739516305929 ...
- Git学习系列之如何正确且高效地将本地项目上传到Github(图文详解)
不多说,直接上干货! 首先你需要一个Github账号,所以还没有的话先去注册吧! https://github.com/ 见 如何走上更高平台分享传递干货知识:(开通个人Github面向开源及私有软件 ...
- 【学习总结】Git学习-参考廖雪峰老师教程十-自定义Git
学习总结之Git学习-总 目录: 一.Git简介 二.安装Git 三.创建版本库 四.时光机穿梭 五.远程仓库 六.分支管理 七.标签管理 八.使用GitHub 九.使用码云 十.自定义Git 期末总 ...
- 个人github链接及git学习心得总结
个人github链接 https://www.github.com/liangjianming/test git学习心得总结 git是一个快速,开源,分布式的版本控制系统. GitHub是一个基于w ...
- Git 学习(五)远程仓库
Git 学习(五)远程仓库 之前的章节所说的是本地Git仓库的操作,版本管理的优越性显然不会仅仅在本地.远程仓库也就是服务器或是网络端的仓库操作也是必须的. 本文具体说明 Git 的远程仓库操作,示例 ...
随机推荐
- shiro权限控制入门
一:权限控制两种主要方式 粗粒度 URL 级别权限控制和细粒度方法级别权限控制 1.粗粒度 URL 级别权限控制 可以基于 Filter 实现在数据库中存放 用户.权限.访问 URL 对应关系, 当前 ...
- docker 数据卷挂载总结
原文
- tp3.2开启允许跨域
在入口文件<?PHP下加上 header('Access-Control-Allow-Origin:*');header("Access-Control-Allow-Headers: ...
- UTF-8文件编码格式中有无签名问题汇总(BOM)
UTF-8签名(UTF-8 signature)也叫做BOM(Byte order Mark),是UTF编码方案里用于标识编码的标准标记.如果多个文件设置了签名,在二进制流中就会包含多个UTF-8签名 ...
- linux常用命令(50个)
1. find 基本语法参数如下: find [PATH] [option] [action] # 与时间有关的参数: -mtime n : n为数字,意思为在n天之前的“一天内”被更改过的文件: - ...
- 【Leetcode】【Medium】Construct Binary Tree from Inorder and Postorder Traversal
Given inorder and postorder traversal of a tree, construct the binary tree. Note:You may assume that ...
- IEEP部署企业级网络工程-网络故障-环路故障
网络故障 1.环路故障 概念 1).以太网是一个支持广播的网络, 在没有环路的环境中,广播报文在网络中以泛洪的形式被送达到网络的第一个角落,以保证每个设备都能够接受到它.每台二层设备在接收到广播报文以 ...
- zan扩展安装
官方地址 https://github.com/youzan/zan //提示缺少libcurl扩展时候安装 yum install libcurl-devel //安装完zan.so php -m提 ...
- 【jQuery】jQuery中的事件捕获与事件冒泡
在介绍之前,先说一下JavaScript中的事件流概念.事件流描述的是从页面中接受事件的顺序. 一.事件冒泡( Event Bubbling) IE 的事件流叫做事件冒泡,即 ...
- 简单的python爬虫--爬取Taobao淘女郎信息
最近在学Python的爬虫,顺便就练习了一下爬取淘宝上的淘女郎信息:手法简单,由于淘宝网站本上做了很多的防爬措施,应此效果不太好! 爬虫的入口:https://mm.taobao.com/json/r ...