Git系列-相关小工具

勤奋不是嘴上说说而已,而是实际的行动,在勤奋的苦度中持之以恒,永不退却。业精于勤,荒于嬉;行成于思,毁于随。在人生的仕途上,我们毫不迟疑地选择勤奋,她是几乎于世界上一切成就的催产婆。只要我们拥着勤奋去思考,拥着勤奋的手去耕耘,用抱勤奋的心去对待工作,浪迹红尘而坚韧不拔,那么,我们的生命就会绽放火花,让人生的时光更加的闪亮而精彩。

导读:本篇文章讲解 Git系列-相关小工具,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

写代码的,版本控制工具已经成为日常开发必备。版本控制系统(version control system)不要太多,早有svn、ClearCase,后有Git、Mercurial。毫无疑问,Git已是主流。本文只讲Git相关的小工具。

Git bash

即git工具的命令行,下面讲的所有工具全部都是建立对在git bash的封装之上,调用git bash命令行完成其功能。安装好Git之后,在任意目录下面右键即可看到Git bash 和Git GUI。这个需要记住一些基本的命令行即可。

Git GUI

IDEA Version Control

实际上,使用IDEA自带的Version Control就已足够应付日常开发需求;且随着IDEA版本的升级,每次都会看到一些新的功能或者改进。不得不赞赏JetBrains公司的产品称得上匠艺制作。
基本使用看图如下,应该能够明白绝大多数的操作。
在这里插入图片描述

TortoiseGit

最早是有TortoiseSVN这个工具的,看到svn大势已去,适时推出TortoiseGit这个应用于Git的GUI工具。工作第一年用过。后面觉得完全必要,遂弃之。

sourcetree

可以说是最强大的Git GUI工具。
关于 sourcetree:
分支共有5种类型

  1. master,最终发布版本,整个项目中有且只有一个
  2. develop,项目的开发分支,原则上项目中有且只有一个
  3. feature,功能分支,用于开发一个新的功能
  4. release,预发布版本,介于develop和master之间的一个版本,主要用于测试
  5. hotfix,修复补丁,用于修复master上的bug,直接作用于master

当开发中需要增加一个新的功能时,可新建feature分支,用于增加新功能,并且不影响开发中的develop源码,当新功能增加完成后,完成feature分支,将新功能合并到develop中,更新develop上的代码。

git log

  1. 统计个人代码量:
    git log --author="johnny" --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc }' -
  2. 贡献值统计:
    git log --pretty='%aN' | sort -u | wc -l
  3. 查看排名前 5 的贡献者:
    git log --pretty='%aN' | sort | uniq -c | sort -k1 -n -r | head -n 5

git_stats

安装git_statssudo gem install git_stats
运行:git_stats generate
打开git_stats目录下面生成的HTML文档:cd git_stats && open index.html
Windows版本?

cloc

cloc (Count Lines Of Code),用于统计开发到一定阶段的代码库的代码规模,类数,代码行等统计信息。cloc之前托管于SourceForge,后来迁移开源到GitHub-cloc。使用perl语言开发,故而可以在任何系统安装使用,支持各种主流语言。

安装
对于Windows系统而言,从这里下载得到老版的exe文件,或者强烈建议去GitHub repo的release页面直接下载最新版本。不需要双击exe文件执行安装。打开命令行即可cloc-1.80.exe回车即可看到工具的使用help文档。
也可以这样安装:npm install -g cloc

简单使用:
cloc [options] <file(s)/dir(s)/git hash(es)>

Count physical lines of source code and comments in the given files (may be archives such as compressed tarballs or zip files) and/or recursively below the given directories or git commit hashes.

cloc [options] --diff <set1> <set2>

Compute differences of physical lines of source code and comments between any pairwise combination of directory names, archive files or git commit hashes.

cloc [options] <file(s)/dir(s)/git hash(es)> | <set 1> <set 2> | <report files>

实例
作用于单个文件:cloc-1.80.exe 'E:\GitHub\test\pom.xml'
作用于单个目录:cloc-1.80.exe 'E:\GitHub\test'
作用于多个目录:cloc src/ include/ main.c
输出统计信息到文件,支持其他形式的文本文件:cloc-1.80.exe 'E:\GitHub\test\pom.xml' --out 1.txt
排除特性语言的文件:cloc-1.80.exe --include-lang=js 'E:\GitHub\test'
比较:cloc --diff Python-3.5.tar.xz python-3.6/

具体使用参考文档:

  1. 命令行cloc-1.80.exe输出的 help 信息,超级详细,跟随版本走;
  2. http://cloc.sourceforge.net/ 可能有些过时;
  3. GitHub README,最新文档。

参考

介绍一个好用的代码统计工具
Git代码统计

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/142327.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!