赞
踩
在系统上安装好 Git后,还需要配置Git 环境。 每台计算机上只需要配置一次,程序升级时会保留配置信息,也可以在任何时候再次通过运行命令来修改它们。
Git 自带一个 git config
的工具来帮助设置配置变量,这些变量存储在三个不同的位置:
/etc/gitconfig
文件: 包含系统上每一个用户及他们仓库的通用配置。 如果在执行 git config
时带上 --system
选项,那么它就会读写该文件中的配置变量。(由于它是系统配置文件,需要管理员或超级用户权限来修改它,所以一般不对该文件配置。)
~/.gitconfig
或 ~/.config/git/config
文件:只针对当前用户。 可以传递 --global
选项让 Git 读写此文件,这会对当前用户在系统上所有的仓库生效。
当前仓库的 Git 目录中的 config
文件(即 .git/config
),只针对该仓库。 你可以传递 --local
选项让 Git 强制读写此文件,虽然默认情况下用的就是它。(当然,你需要进入某个 Git 仓库中才能让该选项生效。)
所以三个git配置文件作用域是有所区别的,我们一般对第二和第三个配置文件进行配置。每一个级别会覆盖上一级别的配置,所以 .git/config
的配置变量会覆盖 /etc/gitconfig
中的配置变量。
安装完 Git 之后,要做的第一件事就是设置你的用户名和邮件地址。 这一点很重要,因为每一个 Git 提交都会使用这些信息,它们会写入到你的每一次提交中,不可更改:
- $ git config --global user.name "John Doe"
- $ git config --global user.email johndoe@example.com
Git配置好后,如果想要检查你的配置,可以使用 git config --list
命令来列出所有 Git 当时能找到的配置。
- $ git config --list
- user.name=John Doe
- user.email=johndoe@example.com
- color.status=auto
- color.branch=auto
- color.interactive=auto
- color.diff=auto
- ...
可以通过以下命令查看所有的详细配置以及它们所在的文件:
$ git config --list --show-origin
还可以通过输入 git config <key>
来检查 Git 的某一项配置
- $ git config user.name
- John Doe
git在提交时每次都需要输入密码和账号信息,可以将账号和密码进行持久化存储,当git push的时候输入一次用户名和密码就会被记录,不需要每次输入,提高效率,进行一下配置:
git config --global credential.helper [mode]
这里的mode可以是<cache>,<store>和macos的<osxkeychain>以及windows的<wincred
>值:
设置cache
模式时,内置凭证系统把登录凭证信息保存在机器内存中一段时间,时间过后将被从内存中移除。一般是15分钟,可以在配置时添加参数去自定义--timeout 30000
。
设置store
模式后,内置凭证系统把登录凭证信息保留在硬盘中,并且只要不主动清除则会一直保留,没有失效时间,除非修改密码或主动取消该模式。不过该模式存在安全问题在于密码信息是用明文保存。
设置osxkeychain模式时
,此模式下的凭证助手会对登录凭证信息进行加密处理并存储。该模式只能在Mac系统使用。
设置wincred
模式时,该模式会对凭证信息处理放入到Windows凭据管理器中,但是还是可以获取用户信息。该模式只能在Windows操作系统中使用。
如何删除持久化存储呢,这时候就需要把以前记录过的信息都删掉。
1. 列出信息,查看持久化存储方式
- git config --list | grep credential
-
- # 显示
- credential.helper=osxkeychain # 第一种就是mac自带的钥匙串
- 或者
- credential.helper=store # 第二种是文件存储地址在 ~/.git-credentials
2. 删除信息
第一种需要进入启动台->其他->钥匙串访问,搜索git相关删掉目标信息。
第二种需要通过vim修改~/.git-credentials文件,删除以下类似信息:
http://username:password@git.xxx.cn https://xxxx:xxxx@github.com
或者统一用这种方法移除设置。
- # 移除设置
- git config --global --unset credential.helper
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。