Git 入门资料
windows 下 Git 的配置和使用
- 以下命令都在 Git Bash 中运行
- 生成公钥/私钥
ssh-keygen -t rsa
- 生成的密钥对的位置在
C:\Users\<user-name>\.ssh
- id_rsa 为私钥, id_rsa.pub 为公钥
- 配置 Git 的用户名和邮件
1
2
| git config --global user.name <your-name>
git config --global user.email <your-email>
|
进阶配置
- 编辑
<git-install-path>\etc\gitconfig
- 修改autocrlf = input, 确保提交的文本都是 utf8 编码
- 在文件末尾增加下面的代码, 使 Git GUI 能显示中文
[gui]
encoding = utf-8
- 编辑
<git-install-path>\etc\git-completion.bash
- 在文件末尾增加下面的代码, 使 Git Bash 能显示中文
alias ls='ls --show-control-chars --color=auto'
Git 使用规范
- 禁用中文文件名
- 所有文本文件使用 utf8 编码
- 所有文本文件使用 unix 换行 (\n), 而非 windows 换行 (\r\n)
Git 分枝管理
- master: 稳定可编译/测试通过的代码
- test: 测试环境的代码, 通过测试后merge到master
- pri-xxx: 个人开发代码 (private), 由于可能需要到部署到服务器上, 因此允许 push 到 remote
- dev: 开发环境的代码
- 在 pri-xxx 上开发的代码, 可能需要 merge 到开发环境上验证
- 验证通过后, 禁止 直接把 dev merge 到 test, 而是应该从 pri-xxx merge 到 test
- 由于 dev 代码在多人 merge 后可能出问题, 所以定期会从 master 重开 dev 分枝
Git 注释规范
- 所有注释, 除了 merge 时系统自动生成的, 均应符合以下规范
- 格式为
<OPERATION>: description
- OPERATION 包括 ADD/MOD/DEL/FIX/MERGE/REFACTOR/CLEAN, 全部大写, 后面跟着冒号
- description 需要是全英文, 包括标点
- 一次提交可以有多个 OPERATION, 但最好只有一个
| OPERATION |
何时使用 |
description应该写什么 |
| ADD |
增加功能/文件 |
增加了什么功能/文件(文件太多可以写目录) |
| MOD |
修改功能/文件 |
修改了什么功能/文件, 以及修改原因 |
| DEL |
删除功能/文件 |
删除了什么功能/文件, 以及删除原因 |
| FIX |
修复 bug |
bug 列表中有的, 可以只写 bug 号, 没有的需要说明 |
| MERGE |
手动合并 |
从哪里合并到哪里 (from x to y), 如何解决了冲突 |
| REFACTOR |
重构 |
重构了什么 |
| CLEAN |
清理 |
清理了什么 |