统计代码量
git log --since='2021-05-01' --until='2021-08-01' --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 >> XXX_18_12_31_code.csv;
Git 将一个分支完全覆盖(不是合并)到另一个分支
案例: 将dev分支的代码完全覆盖到master上。
git checkout master
git reset --hard dev
git push origin master --force
若被覆盖的分支有处于受保护(protected)的状态,则执行push操作后会报错:、
remote: GitLab: You are not allowed to force push code to a protected branch on this project.
To https://git.xxx.cn/xxx/xxx.git
! [remote rejected] master -> master (pre-receive hook declined)
这时我们只需要登录到git的网页端,首先进入待覆盖的分支,
接着找到Protected Branch菜单项,将待覆盖的分支从受保护的分支中移除,
最后重新执行上述语句即可。