git基础
git设置用户名和邮箱
1
2
3
4
5
6
7
8
9
10
# 设置用户名和邮箱
git config --global user.name "username"
git config --global user.email "useremail"
# 查看用户名和邮箱
git config user.name
git config user.email
# 查看其它配置
git config --list
参考:git配置用户名和邮箱
git设置代理
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 设置当前代理
git config http.proxy http://127.0.0.1:7890
# 设置全局代理(我在用的)
git config --global http.proxy http://127.0.0.1:7890
git config --global https.proxy http://127.0.0.1:7890
# 取消当前代理
git config --unset http.proxy
# 取消全局代理
git config --global --unset http.proxy
# 设置socks5代理
git config http.proxy socks5://127.0.0.1:10809
————————————————
版权声明:本文为CSDN博主「用户昵称不能为空」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/default7/article/details/100068256
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 2
# git 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 3
# git 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"