Git系列-相关小工具

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Git系列-相关小工具相关的知识,希望对你有一定的参考价值。


写代码的,版本控制工具已经成为日常开发必备。版本控制系统(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公司的产品称得上匠艺制作。

基本使用看图如下,应该能够明白绝大多数的操作。

Git系列-相关小工具_github

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_stats​​​:​​sudo 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代码统计


以上是关于Git系列-相关小工具的主要内容,如果未能解决你的问题,请参考以下文章

Git 剖析,以及Git相关操作

GIT系列——centos8环境下搭建GitLab代码仓库管理服务

获取有关特定目录中行贡献的 Git 统计信息

GIT系列——GitLab备份与恢复

GIT系列——GitLab备份与恢复

PCgamer归纳的独立游戏制作的相关工具系列