Git命令集合大全

 首先在git库文件夹上(拉下来的项目)右键选择“Git Bash Here"菜单项 ==》打开终端。

git本地分支如何删除

一、Git查看所有分支、删除本地/远程分支

  • 查看所有分支(本地+远程):

查看该库中所有分支名:

 git branch -a 

前面带有*号的是当前分支

  • 删除本地分支:

①删除没有合并的分支:

git branch -D 分支名 

②删除已合并的分支:

git branch -d 分支名
  • 删除远程分支:

git push origin --delete 分支名

②输入用户名密码完成身份验证 -》成功删除

 

二、Git筛选某人历史提交记录

如果我们是很多人在一个分支开发,开发完了之后,发现某个人的功能,需要单独cherry-pick到另外一分支上去。那么这个时候就要查询这个人的提交日志了。

使用

git log --author="author"

可以查找某一个作者所有的提交

 

三、Git回退到某人某次提交时的版本

git  log --author="author"

查看某人提交记录,拿到commit id

git reset --hard commit id(前六位就可以)

因为没有推上去,只回退本地,不影响远程。

 

四、Git把某个分支的某一次提交转移到另外一个分支

git  log --author="author"

查看某人提交记录,拿到commit id

②切换到目标分支

git cherry-pick commitId(前六位就可以)

 

五、Git合并分支

假如我们现在在dev分支上,开发完功能,要合并到master分支

  • 1、首先切换到master分支上
  • 2、如果是多人开发的话 拉取最新代码
  • 3、合并
  • git  merge dev
  • 4、解决冲突
  • 5、提交

六、代码统计

查看git上的个人代码量:

git log --author="username" --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 }' -

结果示例:(记得修改 username)

added lines: 120745, removed lines: 71738, total lines: 49007

统计每个人增删行数

git log --format='%aN' | sort -u | while read name; do echo -en "$name\t"; git log --author="$name" --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 }' -; done

结果示例

Max-laptop    added lines: 1192, removed lines: 748, total lines: 444
chengshuai    added lines: 120745, removed lines: 71738, total lines: 49007
cisen    added lines: 3248, removed lines: 1719, total lines: 1529
max-h    added lines: 1002, removed lines: 473, total lines: 529
max-l    added lines: 2440, removed lines: 617, total lines: 1823
mw    added lines: 148721, removed lines: 6709, total lines: 142012
spider    added lines: 2799, removed lines: 1053, total lines: 1746
thy    added lines: 34616, removed lines: 13368, total lines: 21248
wmao    added lines: 12, removed lines: 8, total lines: 4
xrl    added lines: 10292, removed lines: 6024, total lines: 4268
yunfei.huang    added lines: 427, removed lines: 10, total lines: 417
³ö    added lines: 5, removed lines: 3, total lines: 2

查看仓库提交者排名前 5

git log --pretty='%aN' | sort | uniq -c | sort -k1 -n -r | head -n 5

贡献值统计

git log --pretty='%aN' | sort -u | wc -l

提交数统计

git log --oneline | wc -l

添加或修改的代码行数:

git log --stat|perl -ne 'END { print $c } $c += $1 if /(\d+) insertions/'

使用gitstats

GitStats项目,用Python开发的一个工具,通过封装Git命令来实现统计出来代码情况并且生成可浏览的网页。官方文档可以参考这里。

使用方法

git clone git://github.com/hoxu/gitstats.git
cd gitstats
./gitstats 你的项目的位置 生成统计的文件夹位置

可能会提示没有安装gnuplot画图程序,那么需要安装再执行:

//mac osx
brew install gnuplot
//centos linux
yum install gnuplot

生成的统计文件为HTML:
2014-8-16-git.jpg

使用cloc

npm install -g cloc


posted @ 2022-09-16 14:31  小牛同学丶  阅读(163)  评论(0编辑  收藏  举报