Git統計代碼量和常用命令


一、Git統計代碼量

1.根據用戶名時間段統計

git log --author="username" --since=2018-01-01 --until=2019-12-31 --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.查看提交者排名前N位

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

3.提交數統計

git log --oneline | wc -l

4.根據用戶名統計

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 }' -

5.根據時間段統計

git log --since=2020-01-01 --until=2021-02-04 --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 }'

6.統計每個人的增刪行數

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 ", add, subs, loc }' -; done

7.貢獻者統計

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

8.根據時間段排除文件夾統計

git log --since=2021-01-28 --until=2021-02-03 --pretty=tformat: --numstat -- . ":(exclude)src/test" | awk '{ add += $1; subs += $2; loc += $1 + $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc }'

-- . ":(exclude)folderName"  folderName指src/test文件夾,這里是相對路徑

-- . ":(exclude)folderName1"  ":(exclude)folderName2"  排除多個文件夾

-- . ":(exclude)folderName"也 可以用在其他的統計中;--前只能有一個空格,有多個空格識別不了

 9.根據指定文件夾統計

git log --since=2021-06-24 --until=2021-06-30 --pretty=tformat: --numstat | grep src/test | gawk '{ add += $1; subs += $2; loc += $1 + $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc }'

src/test 指定src的test目錄下

注意:增刪也算統計的代碼量就修改loc += $1 + $2

二、Git常用命令

1. 克隆一個git項目到本地,將git項目拉取到本地

git clone  項目地址

2.查看文件狀態,列出當前目錄沒有被git管理,以及被修改過還未提交的文件

git status

3.將我們提交的文件添加到索引庫中(添加到緩沖區),*可以是路徑也可以是.符號,git add . 代表將當前目錄下的所有文件都添加到索引庫中,

如果指定路徑則代表將制定路徑的文件添加到索引庫中。

git add *

4.將文件推送到本地倉庫中,-m 后可以填寫此次提交的備注如git commit -m "提交刪除功能代碼",那么在git項目中的提交記錄里面就能看見你的推送備注。

這一步僅僅是放在緩沖區中,還未真正提交代碼

git commit -m "備注"

5.這一步才是推送代碼推送時需要跟分支名,表示需要將代碼推送至某個分支.如git push origin dev表示你要講代碼推送至dev分支

git push origin 分支名

6.更新當前分支的代碼,獲取最新的代碼

git pull

7.從當前分支切換至另一個分支

git checkout 分支名

8.當前分支合並其他分支

git merge 分支名

9.提交被忽略的文件

$ git add src/XXX

如果拋出如下異常

The following paths are ignored by one of your .gitignore files:src/XXX

Use -f if you really want to add them.

提示提交的時候,需要加 –f。使用如下命令即可解決:

$ git add -f src/XXX

 

參考 https://git-scm.com/docs/git-log


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM