|
| 1 | + |
| 2 | +# [git config]配置 |
| 3 | + |
| 4 | +## 命令行操作范围 |
| 5 | + |
| 6 | +使用命令`git config`进行配置,各级别设置需要加上可选参数 |
| 7 | + |
| 8 | + # 系统级别 |
| 9 | + git config --system ... |
| 10 | + # 全局级别 |
| 11 | + git config --global ... |
| 12 | + # 仓库级别 |
| 13 | + git config --local ... |
| 14 | + |
| 15 | +### 打印配置信息 |
| 16 | + |
| 17 | +* 获取配置信息 |
| 18 | + |
| 19 | +``` |
| 20 | +$ git config --list |
| 21 | +user.name=xxx |
| 22 | +user.email=xxx@163.com |
| 23 | +core.editor=code |
| 24 | +http.postbuffer=1048576000 |
| 25 | +core.repositoryformatversion=0 |
| 26 | +core.filemode=true |
| 27 | +core.bare=false |
| 28 | +core.logallrefupdates=true |
| 29 | +remote.origin.url=git@github.com:ZJDoc/GitGuide.git |
| 30 | +remote.origin.fetch=+refs/heads/*:refs/remotes/origin/* |
| 31 | +branch.master.remote=origin |
| 32 | +branch.master.merge=refs/heads/master |
| 33 | +``` |
| 34 | + |
| 35 | +* 获取全局配置信息 |
| 36 | + |
| 37 | +``` |
| 38 | +$ git config --global --list |
| 39 | +user.name=xxx |
| 40 | +user.email=xxx@163.com |
| 41 | +core.editor=code |
| 42 | +http.postbuffer=1048576000 |
| 43 | +``` |
| 44 | + |
| 45 | +* 获取本地配置信息 |
| 46 | + |
| 47 | +``` |
| 48 | +$ git config --local --list |
| 49 | +core.repositoryformatversion=0 |
| 50 | +core.filemode=true |
| 51 | +core.bare=false |
| 52 | +core.logallrefupdates=true |
| 53 | +remote.origin.url=git@github.com:ZJDoc/GitGuide.git |
| 54 | +remote.origin.fetch=+refs/heads/*:refs/remotes/origin/* |
| 55 | +branch.master.remote=origin |
| 56 | +branch.master.merge=refs/heads/master |
| 57 | +``` |
| 58 | + |
| 59 | +**注意:需要进入一个`Git`仓库才能获取本地信息** |
| 60 | + |
| 61 | +## 常用设置 |
| 62 | + |
| 63 | +1. 设置用户信息 |
| 64 | +2. 设置文本编辑器 |
| 65 | +3. 移除变量 |
| 66 | + |
| 67 | +### 设置用户信息 |
| 68 | + |
| 69 | +每次提交时都需加上用户名和邮箱地址,可以设置成全局变量 |
| 70 | + |
| 71 | + git config --global user.name user-name |
| 72 | + git config --global user.email email-address |
| 73 | + |
| 74 | +*设置节点为`user`,设置属性为`name`和`email`* |
| 75 | + |
| 76 | +也可以在仓库中设置本地用户名和用户邮箱: |
| 77 | + |
| 78 | +``` |
| 79 | +$ git config --local user.name xxx |
| 80 | +$ git config --local user.email xxx |
| 81 | +``` |
| 82 | + |
| 83 | +### 设置文本编辑器 |
| 84 | + |
| 85 | +`git`使用系统默认的编辑器,可以设置指定编辑器 |
| 86 | + |
| 87 | + # 未设置 |
| 88 | + git config --global core.editor vim |
| 89 | + # 已设置,先删除再添加 |
| 90 | + git config --global --unset core.editor |
| 91 | + git config --global core.editor vim |
| 92 | + |
| 93 | +### 移除变量 |
| 94 | + |
| 95 | + # 移除单个变量 |
| 96 | + git config --global --unset 属性名 |
| 97 | + # 移除所有变量 |
| 98 | + git config --global --unset-all 属性名 |
| 99 | + |
| 100 | +## 配置文件地址 |
| 101 | + |
| 102 | +`git`有`3`个级别的配置文件: |
| 103 | + |
| 104 | +1. `local`:本地文件存放在仓库中(`.git/config`),只针对当前仓库 |
| 105 | +2. `global`:全局文件存放为`~/.gitconfig`或`~/.config/git/config`,作用于当前用户的所有仓库 |
| 106 | +3. `system`:系统文件存放为`/etc/gitconfig`,作用于系统的每个用户 |
| 107 | + |
| 108 | +其优先级为`local > global > system` |
| 109 | + |
| 110 | +*`windows`环境下的全局配置文件存放为`C:\\User\\$USER\\.gitconfig`* |
| 111 | + |
| 112 | +### 编写格式 |
| 113 | + |
| 114 | +所有配置文件的编写格式都一样,可参考仓库级别的`config`文件,按照*section和key*进行配置 |
| 115 | + |
| 116 | + # 仓库级别 |
| 117 | + $ cat config |
| 118 | + [core] |
| 119 | + repositoryformatversion = 0 |
| 120 | + filemode = true |
| 121 | + bare = false |
| 122 | + logallrefupdates = true |
| 123 | + [remote "origin"] |
| 124 | + url = git@github.com:zjZSTU/linux-guide.git |
| 125 | + fetch = +refs/heads/*:refs/remotes/origin/* |
| 126 | + [branch "master"] |
| 127 | + remote = origin |
| 128 | + merge = refs/heads/master |
| 129 | + # 全局级别 |
| 130 | + $ cat .gitconfig |
| 131 | + [user] |
| 132 | + name = zxxx |
| 133 | + email = 50xxxxx.com |
0 commit comments