git学习笔记
git安装¶
git基本配置¶
1.配置个人的用户名和电子邮件¶
git config --global user.name "Your Name"
git config --global user.email "email@example.com"
# 可通过命令git config --list查看是否设置成功。
2.生成SSH秘钥¶
生成SSH是用来把你的项目上传、联接到远端,比如Github,Gitee等代码托管平台,如果只是在本地进行版本控制,不需要生成SSH密钥。
ssh-keygen -t rsa -C "youremail@example.com"
# 生成id_rsa(私钥)和id_rsa.pub(公钥)
# 查看配置
git config --list # 默认是当前仓库
git config --list --local
git config --list --global # 全局配置
git config --list --system # 系统配置
3.免密登录¶
书籍推荐:¶
- 《Pro Git》:https://git-scm.com/book/en/v2
官方网站就有,还有中文版的,我觉得看这本就差不多了
git可视化工具¶
- Lazygit(推荐🔥🔥🔥)
- SourceTree
git提交规范¶
提交格式
- type部分说明:
用于说明git commit的类别,只允许使用下面的标识。
- feat:新功能(feature)。
- fix:修复bug,可以是QA发现的BUG,也可以是研发自己发现的BUG。
- docs:文档(documentation)。
- style:格式(不影响代码运行的变动)。
- refactor:重构(即不是新增功能,也不是修改bug的代码变动)。
- perf:优化相关,比如提升性能、体验。
- test:增加测试。
- chore:构建过程或辅助工具的变动,以及一些杂项
- revert:回滚到上一个版本。
- merge:代码合并。
-
sync:同步主线或分支的Bug。
-
scope
scope用于说明 commit 影响的范围,比如数据层、控制层、视图层等等,视项目不同而不同。
- subject
subject是commit目的的简短描述,不超过50个字符。
描述使用的语言:看团队,中英文均可,结尾不加句号或其他标点符号。
根据以上规范git commit message将是如下的格式:
我的Git配置¶
原生git配置¶
#!/bin/bash
# git基本信息配置
git config --global user.name "Your Name"
git config --global user.email "email@example.com"
# 运行 `git pull` 时,Git 会自动执行 `git pull --rebase`
# 作用:从远程仓库拉取最新的代码,并通过 `rebase` 将本地分支的提交重新应用到远程分支的最新基础上
# 不会产生 `merge commit`,而是将本地分支的提交重新排列到远程分支的最新提交之后,使提交历史更加线性。
git config --global pull.rebase true
# git log 日志美化
# git lg:显示当前分支的历史记录
git config --global alias.lg "log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ad)%C(reset) %C(white)%s%C(reset) %C(dim cyan)- %an%C(reset)%C(bold yellow)%d%C(reset)' --date=format:'%Y-%m-%d %H:%M:%S (%a)'"
# git lga:显示所有分支的历史记录
git config --global alias.lga "log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ad)%C(reset) %C(white)%s%C(reset) %C(dim cyan)- %an%C(reset)%C(bold yellow)%d%C(reset)' --date=format:'%Y-%m-%d %H:%M:%S (%a)' --all"