Git 自带一个 git config 的工具来帮助设置控制 Git 外观和行为的配置变量。
这些变量存储在三个不同的位置:

/etc/gitconfig 文件: 包含系统上每一个用户及他们仓库的通用配置。
如果使用带有 --system 选项的 git config 时,它会从此文件读写配置变量。

~/.gitconfig 或 ~/.config/git/config 文件:只针对当前用户。
可以传递--global 选项让 Git 读写此文件。

当前使用仓库的 Git 目录中的 config 文件(就是 .git/config):针对该仓库。

每一个级别覆盖上一级别的配置,所以 .git/config 的配置变量会覆盖 /etc/gitconfig 中的配置变量。

在 Windows 系统中,Git 会查找 $HOME 目录下(一般情况下是 C:\Users\$USER)的 .gitconfig 文件。 Git 同样也会寻找 /etc/gitconfig 文件,但只限于 MSys 的根目录下,即安装 Git 时所选的目标位置。

用户信息

当安装完 Git 应该做的第一件事就是设置用户名称与邮件地址。这样做很重要,因为每一个 Git 的提交都会使用这些信息,并且它会写入到每一次提交中,不可更改:

$ git config --global user.name "maxsu"
$ git config --global user.email maxsu@yiibai.com

再次强调,如果使用了 --global 选项,那么该命令只需要运行一次,因为之后无论你在该系统上做任何事情, Git 都会使用这些信息。
当你想针对特定项目使用不同的用户名称与邮件地址时,可以在那个项目目录下运行不使用 --global 选项的命令来配置。

很多 GUI 工具都会在第一次运行时帮助你配置这些信息。

文本编辑器

既然用户信息已经设置完毕,你可以配置默认文本编辑器了,当 Git 需要您输入信息时会调用它。
如果未配置,Git 会使用操作系统默认的文本编辑器,通常是 Vim。
如果你想使用不同的文本编辑器,例如 Emacs,可以这样做:

$ git config --global core.editor Emacs

检查配置信息

如果想要检查你的配置,可以使用 git config --list 命令来列出所有 Git 当时能找到的配置:

$ git config --list

http.postbuffer=2M

user.name=maxsu

user.email=maxsu@yiibai.com

GIT-SSH
配置和使用

使用 SSH 协议来访问 Git 仓库,提供账户 SSH 公钥和项目 SSH 公钥设置。
用户可以设置账户 SSH 公钥,获所有仓库的读写权限,设置了 SSH 公钥后,就不需要每次对 Git 仓库的操作需要输入用户名和密码。

生成密钥

使用ssh-keygen 命令生成公/私钥,默认全部回车,会在用户目录下创建 .ssh 目录,生成的私钥和公钥文件存放在该目录:

$ ssh-keygen -t rsa -C "lixue@9186.com"

Generating public/private rsa key pair.

Enter file in which to save the key (C:\Users\Lixue-PC/.ssh/id_rsa):

Enter passphrase (empty for no passphrase):

Enter same passphrase again:

Your identification has been saved in C:\Users\Lixue-PC/.ssh/id_rsa.

Your public key has been saved in C:\Users\Lixue-PC/.ssh/id_rsa.pub.

The key fingerprint is:

SHA256:Dq2VcQgorI/63WpMpNkOv2IMow6aG4pfjdT/k+GdbAI lixue@9186.com

The key's randomart image is:

+---[RSA 2048]----+

| . .. |

| o . . . |

| . . o . |

|. .. . + |

| o =. o S |

|+ =.oo *E . |

|=+ *o o oo = . |

|Bo+o=. .= = |

|B*oo+o. .+ |

+----[SHA256]-----+

设置 SSH 公钥

使用的 Gitlab 作为 Git 的私钥仓库,首先登录 Gitlab,点击 Settings 找到 SSH Key,复制在上一步生成的公钥文件(id_rsa.pub)内容填入到 Key 字段,点击 Add Key 保存即可。

测试配置

使用命令 ssh 来测试 Gitlab 的公钥配置,如下:

$ ssh -T git@192.168.160.33

The authenticity of host '192.168.160.33 (192.168.160.33)' can't be established.

ECDSA key fingerprint is SHA256:cjXiwka+JzJpLgWuHOlcEjNIm6BhsjMTVV6hX6GnB64.

Are you sure you want to continue connecting (yes/no)?

输入 yes 继续连接

Warning: Permanently added '192.168.160.33' (ECDSA) to the list of known hosts.

Welcome to GitLab, @lixue!

返回了 Welcome to GitLab 表示 SSH 的验证的 Key 配置正确了,后续可以使用 SSH 来获取项目

Git 环境配置的更多相关文章

  1. Git环境配置+VSCode中文乱码问题

    异常处理汇总-开发工具  http://www.cnblogs.com/dunitian/p/4522988.html 1.VSCode中文乱码问题 (files.autoguessEncoding= ...

  2. Android代码编译环境配置 “Gerrit和Git环境配置”

    Gerrit和Git环境配置可以参考<git&gerrit操作指导> 步骤1. 先在Gerrit中创建新的账户: 步骤2. 在新的客户端上生成密钥(可以使用的是生成的公钥): 步骤 ...

  3. 运维笔记--线上服务器git环境配置

    场景描述: 我们采用git去管理代码分支,本地开发环境,线上服务器多数情况下也会使用git去管理程序代码,那么新的一台服务器,如果指定了目标路径作为代码存放路径,该如何配置git环境, 以达到跟远程服 ...

  4. git环境配置 | GitHub

    注册完GitHub之后,需要配置git,其主要的目的是为了方便文件的上传.下载等. 一. git下载 https://git-scm.com/downloads 在git官网找到相应版本的git下载安 ...

  5. 本地Git环境配置

    在Git Bash下获取源码时,提示permission denied publickey. 原因是本地帐号配置不正确,解决办法 生成SSH文件 1,进入Git Bash 2,  输入下面文字 ssh ...

  6. kali git 环境配置

    kali 配置很简单,输入apt-get install git 我输入时返回了错误,执行命令dpkg --configure -a 就行了

  7. Git环境配置

    1,下载Git-2.16.2-64-bit.exe并安装, 全部为默认设置 下载地址:http://git-scm.com/download/win 2 在开始菜单中,单击Git CMD,执行下面命令 ...

  8. mac上的git环境配置

    git生成ssh key for mac 打开终端 cd ~/.ssh 看有没有文件 没有的时候 有有ssh key是这样的多了id_rsa(私钥)和 id_rsa.pub(公钥) 没有的话创建 ss ...

  9. unity3d游戏开发git环境配置

    http://dmayance.com/git-and-unity-projects/ 主要是将2进制的项目文件设置成文本模式,这样便于比较修改. 部署了一个gitignore,忽略了不需要同步的项目 ...

随机推荐

  1. Java 错误提示org.apache.poi.POIXMLException: java.lang.reflect.InvocationTargetException

    java 操作excel文件 发布后报错 org.apache.poi.POIXMLException: java.lang.reflect.InvocationTargetException XSS ...

  2. Unity3D AssetBundle的打包与加载

    在Unity项目开发过程中,当要做热更新时常常使用一个叫做AssetBundle的东西,这里做一点个人的学习记录 步骤1: 设置打包标签:具体步骤----进入Unity,选择某一资源然后看右下角,在那 ...

  3. JAVA接口里面的变量

    在interface里面的变量都是public static final 的.所以你可以这样写:public static final int i=10;或则int i=10:(可以省略掉一部分) 注 ...

  4. linux系统之tr命令

    tr命令介绍以及使用 目录: 1.tr命令的介绍 2.tr命令格式 3tr命令使用项. 4.常见的tr命令的使用 tr命令介绍 从标准输入中翻译.压缩和/或删除字符,写入标准输出,说白了就转换和删除字 ...

  5. 2018-计算机系机试(第二批)-C-数字字符个数

    C. 数字字符个数 单点时限: 1.0 sec 内存限制: 256 MB 输入一行信息,输出其中包含的数字字符个数. 例如:输入 a<4 >w,输出 1 . 输入格式 一行字符串 (可能含 ...

  6. 将前台页面的数据传到后台的方法(不调用ajax,少量数据)

    1.前台画面:在页面中加入form和runat = "server"的方法并加入触发事件 <form method="post" runat=" ...

  7. 解决tomcat同时部署两个SpringBoot应用提示InstanceAlreadyExistsException

    问题描述:Caused by: javax.management.InstanceAlreadyExistsException: com.alibaba.druid.pool:name=primary ...

  8. scrollview中edittext失去焦点问题

    //edittext获取焦点后会瞬间失去,暂时使用这种笨方法解决(获取到焦点后过300ms再获取一次) public void requesFocus() { mEditName.setOnFocus ...

  9. SSH与MVC

    MVC是一个框架模式,它强制性的使应用程序的输入.处理和输出分开.使用MVC应用程序被分成三个核心部件:模型.视图.控制器.它们各自处理自己的任务.最典型的MVC就是JSP + servlet + j ...

  10. MySQL Sending data导致查询很慢的问题详细分析【转载】

    转自http://blog.csdn.net/yunhua_lee/article/details/8573621 [问题现象] 使用sphinx支持倒排索引,但sphinx从mysql查询源数据的时 ...