查看用户名和邮箱地址:
git config user.name
git config user.email
修改用户名和邮箱地址
生成密钥git config --global user.name “xxxx”
git config --global user.email “xxxx”
基础操作ssh-keygen -t rsa -C “xxxxxx@163.com”
按3个回车,密码为空。
log操作git diff 查看修改信息
git diff filePath 查看文件变动信息
git add . 添加所有修改
git checkout filename 撤销此文件的修改
git checkout . 撤销所有未提交的修改
git commit -m “提交信息” 提交代码
git commit 进入vim界面添加提交信息(比较详细)
git push 上传提交到服务器
tag相关命令git log 查看提交历史记录
git log --oneline 或者 git log --pretty=oneline 以精简模式显示
git log --stat 显示文件更改列表
git log --author= ‘name’ 显示某个作者的日志
git log -p filepath 查看某个文件的详细修改
git log -L start,end:filepath 查看某个文件某几行范围内的修改记录
git log --stat commitId 或者 git show --stat commitId 查看某一次提交的文件修改列表
隐藏与恢复git tag 列出所有的tag
git tag name 打轻量标签 name
git tag -d name 删除本地的tag
git push origin --delete tag name 删除远程的tag
git show name 查看tag信息
git push origin name 将tag提交到远程
分支操作git stash 把当前的工作隐藏起来 等以后恢复现场后继续工作
git stash list 查看所有被隐藏的文件列表
git stash apply 恢复被隐藏的文件,但是内容不删除
git stash drop 删除文件
git stash pop 恢复文件的同时 也删除文件
git stash clear 删除所有保存的信息
搜索git branch -a 查看远程分支
git branch 查看本地分支
git branch -vv 列出本地分支和对应的远程分支及最新一条提交日志
git checkout -b branch_name 添加新分支
git checkout branch_name 切换本地分支
统计git log --grep=“commit提交的关键字”
reset 命令
查看个人代码量
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: %sn”, add, subs, loc }’ -统计个人某个时间段提交的代码量
git log --author=“name” --since=2022-01-01 --until=2022-02-01 --pretty=tformat: --numstat | awk ‘{ add += $1; subs += $2; loc += $1 - $2 } END { printf “added lines: %s, removed lines: %s, total lines: %sn”, add, subs, loc }’统计每个人增删行数
git log --format=‘%aN’ | sort -u | while read name; do echo -en “KaTeX parse error: Undefined control sequence: t at position 5: name̲t̲"; git log --au…name” --pretty=tformat: --numstat | awk ‘{ add += $1; subs += $2; loc += $1 - $2 } END { printf “added lines: %s, removed lines: %s, total lines: %sn”, add, subs, loc }’ -; done提交数统计
git log --oneline | wc -l提交者排名前3
git log --pretty=‘%aN’ | sort | uniq -c | sort -k1 -n -r | head -n 3
GIT官方文档:点击这里git reset HEAD^ # 回退所有内容到上一个版本
git reset HEAD^ filename # 回退 filename 文件的版本到上一个版本
git reset 052e # 回退到指定版本
git reset --soft HEAD –soft 参数用于回退到某个版本:
git reset --hard HEAD –hard 参数撤销工作区中所有未提交的修改内容,并删除之前的所有信息提交



