Git 初始化

初始化必须配置项

以下为第一次安装 Git 时需要注意得去专门配置
说是必须配置,其实除了用户名和邮箱的配置,其他不配置也不会影响到 Git 的功能,但是为了用户体验和日常使用最好都配置一下

用户名与邮箱配置

1
2
3
4
5
git config --global user.name "该字符串替换为你的Git用户名(一般来说可以随便取,并不作为认证使用,只是作为团队内区分使用)"
git config --global user.email "该字符串替换为你的邮箱即可"
# e.g.
# git config --global user.name "reasuon"
# git config --global user.email "reasuon@foxmail.com"

公密钥生成

1
2
3
4
# 生成 SSH 公密钥对
# 默认使用 RSA 算法,所以即使不使用参数 -t rsa 也可以
ssh-keygen -t rsa
# 推荐按三次回车,会使用无密码安装在 ~/.ssh 下,如果有密码的话,每次 pull 和 push 都需要输入密码

SSH 默认公钥位置: ~/.ssh/id_rsa.pub
Windows SSH 默认公钥位置: C:/User/用户名/.ssh/id_rsa.pub
Linux SSH 默认公钥位置: /home/用户名/.ssh/id_rsa.pub/root/.ssh/id_rsa.pub

解决日志中文乱码问题(Windows系统常见问题)

这个问题主要是因为 Windows 系统默认使用的中文编码是 GBK,但是 Git 一般默认使用的是 UTF-8,所以当 GBK 字符传输到 Git 时,终端一般情况是无法显示中文的,会出现如下乱码:

1
# <A1><A5><BD><C1><D5>

遇到这种问题,要修改两个部分,一个是 git bash 终端的显示部分,让终端可以显示 UTF-8

右键 -> Options -> Text -> Locale -> zh_Cn
右键 -> Options -> Text -> Character set -> UTF-8

在 git bash 终端输入下面三条指令,让 <XX> 变成汉字

1
2
3
4
5
6
# 提交时使用 utf-8
git config --global i18n.commitencoding utf-8
# 日志使用 utf-8 显示
git config --global i18n.logoutputencoding utf-8
# LESS字符集 设置为 utf-8
export LESSCHARSET=utf-8

非必须配置项

配置项目专用用户名和邮箱

如果有发布开源项目的习惯,那么不可避免的就会在一台电脑上使用不同的用户名和邮箱(大部分时候,个人账号都是和公司账号不同的),这时候在项目内部就可配置专门的用户名和邮箱,只需要在项目内执行配置用户名和邮箱的命令,再把 --global 参数去掉就行,这个参数代表全局变量,不带则为局部变量

1
2
3
4
# 假设项目名为 project
cd project
git config user.name "reasuon"
git config user.email "reasuon@gmail.com"

Git 操作

下载项目

1
2
# 克隆已经存在的仓库到本地
git clone ssh://github.com/libgit2/libgit2.git

分支管理

下载远程分支

1
2
3
# 把远程仓库的 dev 分支下载到本地
# 该命令会自动在本地新建 dev 分支,并指向远程仓库的 dev 分支
git checkout -b dev origin/dev

创建本地分支并推送到远程分支

1
2
3
4
5
6
7
# 在本地创建分支
git checkout -b test
# 推送到远程仓库
# 该命令只会把分支 test 上传到远程仓库,还需要自己手动绑定
git push origin test
# 将 test 分支指向远程仓库的 test
git branch -u origin/test

未完待续…