首页 > 其他分享 >Git系列-相关小工具

Git系列-相关小工具

时间:2022-11-01 10:33:06浏览次数:79  
标签:git 系列 cloc -- GitHub Git 工具 exe


写代码的,版本控制工具已经成为日常开发必备。版本控制系统(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系列-相关小工具_git

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,系列,cloc,--,GitHub,Git,工具,exe
From: https://blog.51cto.com/u_15851118/5811976

相关文章

  • GitHub使用技巧
    GitHub搜索技能通过in关键词限制搜索范围xxxin:name项目名包含xxx的xxxin:description项目描述包含xxx的xxxin:readme项目readme文件中包含xxx的通过xxxin:name,d......
  • git checkout命令详解 git checkout feature/test123
    gitcheckout命令详解gitcheckoutfeature/test123//切换到feature/test123分支保证当前分支没有修改提交,否则回提示error:Yourlocalchangestothefollowing......
  • Google Guava 工具类(一)—— EventBus(观察者模式的实现)
    GoogleGuava工具类(一)——EventBus(观察者模式的实现)❗❗❗未解决的问题:AsyncEventBus的并发执行EventBus是设计模式中的观察者模式(生产者/消费者编程模型)......
  • TortoiseGit的 git token密码登录
    1.点击个人设置2.设置生成Token  3.选择Token登陆,输入生成后的Token即可 ......
  • SQL Server性能优化工具Profiler
    SQLServerProfiler是什么SQLServerProfiler是一个界面,用于创建和管理跟踪并分析和重播跟踪结果。 这些事件保存在一个跟踪文件中,稍后试图诊断问题时,可以对该文件进行......
  • gitlab-ce搭建和数据迁移
    2022年11月1日08:26:03centos7国内地址:注意对应的系统版本,下一个最新版本https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/因为数据导入导出使用的是gitlab......
  • git提交指定文件 git add git commit git stash pop
    git提交指定文件gitaddgitcommitgitstashpopgit提交指定文件,如果此时修改了其他代码,可先提交指定代码,然后忽略不想提交的代码,最后push之后,恢复之前忽略的代码......
  • Java 基于 SpringCloud 数据中台 ETL 工具,可以进行多种常见数据库之间的数据或结构迁
    基于SpringCloud数据中台ETL工具,可以进行多种常见数据库之间的数据或结构迁移提供源端数据库向目的端数据库的批量迁移同步功能,支持数据的全量和增量方式同步。包括:......
  • Git 配置
    git配置SSHGit是分布式的代码管理工具,远程的代码管理是基于SSH的,所以要使用远程的Git则需要SSH的配置。github的SSH配置如下:一、设置Git的username和email:$gitconfig......
  • [vscode] 如何在终端添加git bash?
    设置-搜索"terminal.integrated.profiles.windows"将以下内容复制进入,注意要修改gitbash实际路径{"terminal.integrated.profiles.windows":{"PowerShell":......