git常用命令速查
git常用命令速查
Xtonggit基础
git设置用户名和邮箱
1 | 设置用户名和邮箱 |
参考:git配置用户名和邮箱
git设置代理
1 | 设置当前代理 |
git获取版本差异打包
- 某个版本与当前版本的差异
1
2
3
4完整的commit id
git diff e3d368f457358a4a39f31f033d6a6f3729df541c --name-only | xargs zip update.zip
或者 简略的commit id
git diff e177fd68 --name-only | xargs zip update.zip - 两个版本之间的差异打包
1
2git archive -o ./update.zip 新 $(git diff --name-only 旧 新)
git archive -o ./update.zip 5ec3905f6a64ad90ea53803b1ec05a72476e2e1c $(git diff --name-only cb59ee6a13812761067a28ea25a8188f467d47e0 5ec3905f6a64ad90ea53803b1ec05a72476e2e1c )
git统计
- git统计代码行数
1
2查看 xtong 在 2010-07-16 到 2019-07-14 之间的代码行数
git log --since="2010-07-16" --before="2019-07-14" --author="xtong" --pretty=tformat: --numstat | gawk '{ add += $1 ; subs += $2 ; loc += $1 - $2 } END { printf "added lines: %s removed lines : %s total lines: %s\n",add,subs,loc }' - 查看所有人代码行数
1
git log --pretty='%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
- 查看提交排名前5
1
git log --pretty='%aN' | sort | uniq -c | sort -k1 -n -r | head -n 5
- 查看开发者人数
1
git log --pretty='%aN' | sort -u | wc -l
- 查看总提交次数
1
git log --oneline | wc -l
git配置文件
本地项目配置文件,在项目目录下 .git/config
文件
全局,用户目录下 .gitconfig
文件
- 本地保存密码,在config中
1
2[credential]
helper = store - 全局设置vim为默认编辑器
1
git config –global core.editor vim
Linux下编辑~/.gitconfig文件 在core中添加editor = vim
常用基础命令
- 获取主机[origin]上的所有分支
1
git fetch origin
- 版本更新打tag
1
2
3
4
5
6
7
8
9
10
11
12
13
14创建补丁版本,进行修改
git fetch origin --tag
git checkout -b hotfix/<版本号> <版本号>
修改完成发布
1. 合并到master
git fetch origin master:master
git checkout master
git merge hotfix/<版本号>
git tag -a <发布版本号> -m "发布功能描述"
git push origin --tag
git push origin master:master
清理 hotfix
git push origin :hotfix/<版本号>
git branch -D hotfix/<版本号> - 还原删除的分支或commit
1
2
3git log --since="2 weeks ago" -- myfile 可以2个星期期间的myfile历史;
git log --branches="develop" 可以查看develop的commit
git branch recover_branch commit_id - 版本回退
1
git revert e3d368f457358a4a39f31f033d6a6f3729df541c
- 创建一个git库推送到远端
1
2
3
4
5
6
7
8
9
10
11可参照github
git init
git add .
git commit -am '创建项目'
echo "# integral" >> README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin git@github.com:tongg112/integral.git
git push -u origin master - git提交全局保存密码
1
2建议设置ssh key来替代输入密码的方式
git config --global credential.helper store - git生成rsa
1
ssh-keygen -t rsa -C "email"