git config介绍

作为现代软件开发中不可或缺的东西之一,Git 不只提供了强壮的版本操控功用,还答应用户依据自己的需求进行个性化装备。其中,git config 指令是咱们最常用的管理 Git 装备的东西。

git config的作用域

Git 装备存储了用户和库房的特定装备项,例如用户名、邮箱、默许修改器、长途库房地址等。这些装备信息存储在三个不同的地方,对不同的规模收效:

  • 体系级别装备-system:适用于整个体系的装备,这个很少见。一般存储在 /etc/gitconfig 文件中。
  • 全局装备-global:适用于当时用户的装备,咱们最常用的装备。一般存储在 ~/.gitconfig 文件中。
  • 库房级别装备-local:适用于当时 Git 库房的装备,每个项目的库房中都有一个。一般存储在库房的 .git/config 文件中。

以上三个装备优先级:库房级 > 全局 > 体系级

git config常用装备项

  1. user.name:这个装备项设置了提交代码时运用的用户名,它将被包含在每个提交记录中,以标识谁做了哪些更改。
  2. user.email:这个装备项设置了提交代码时运用的邮箱地址,用来与用户名一起标识提交者的身份。
  3. core.editor:设置默许的文本修改器。当需求修改提交音讯或处理兼并抵触时,Git 会自动调用这个修改器。
  4. http.postBuffer:缓存区巨细,假如文件过大能够调大此装备。 默许是nano,也能够设置为vim、gedit、notepad 、vscode等,nano我用起来不太习惯,vim、vscode都还能够
  5. core.ignorecase:操控文件名在 Git 中的巨细写敏感性。假如设置为 true,Git 将会疏忽文件名的巨细写差异。
  6. color.ui:启用或禁用 Git 输出的彩色显现,使得在终端中更易于区分不同部分。经过设置color.uitrue,就能够启用全局的 Git 操控台色彩,一起也支撑自定义 Git 操控台的色彩计划。
  7. alias.:经过设置别名,你能够为常用的 Git 指令创建简短的快捷方式,从而进步工作效率。
  8. http.proxy:当需求经过代理服务器访问长途库房时,能够运用此装备项指定 HTTP 代理。
  9. http.sslVerify:操控是否验证长途库房的 SSL 证书。在一些情况下,可能需求禁用 SSL 验证,但这会添加安全危险。
  10. push.default:设置推送行为,默许情况下,它确定了在不指定分支称号时 Git 应该推送的分支。
  11. credential.helper:用于设置 Git 如何存储和检索认证信息,例如用户名和密码,以便于在与长途库房通讯时运用。
  12. fetch.prune:设置是否在拉取长途分支时删除本地不存在的长途分支。
  13. diff.tool:设置默许的文件差异比较东西,用于比较文件之间的差异。
  14. merge.tool:类似于 diff.tool,这个装备项设置了默许的兼并东西,用于处理代码兼并时的抵触。
  15. remote.origin.url:设置长途库房的 URL,用于指定与之通讯的长途地址。
  16. remote.origin.fetch:设置从长途库房拉取的默许分支。
  17. init.defaultBranch:设置新建库房时的默许分支称号。
  18. gc.auto:设置自动废物回收的触发条件。
  19. rerere.enabled:启用或禁用 Git 中的 Rerere 功用,它能够协助自动重用从前处理的兼并抵触。

以下是global和local的默许装备:

git config有用攻略

git config有用攻略

git config的操作指令

Git—git config操作大全 检查和操作装备参数_git config –list-CSDN博客

git config 指令是 Git 中用来装备参数的首要东西。经过它,你能够在全局、当时用户、或许当时库房级别设置各种装备项。以下是一些常见的 git config 指令行操作示例:

  1. 检查当时装备

要检查当时 Git 装备的一切项及其对应的值,能够运用 --list-l参数。仅检查,不可修改。关于nano修改器,单击q可退出

检查默许装备,目录在哪里就显现哪里的装备。

git config --list

检查体系装备

git config --system --list

检查全局装备

git config --global --list

检查本地装备

git config --local --list
  1. 检查特定装备项

假如只想检查特定的装备项,能够直接指定它的称号进行检查:

git config user.name
  1. 设置装备项

也能够直接制定称号设置 Git 装备:

git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"
  1. 清除装备项

假如想清除某个装备项的值:

git config --unset user.name
  1. 修改装备项

常见的缓存区约束问题

事情的原因是我想要将一个接近800MB的数据上传的gitee的库房中,但是报错如下:

error: RPC failed; curl 56 Recv failure: Connection reset by peer fetch-pack:
unexpected disconnect while reading sideband packet fatal: early EOF fatal: 
fetch-pack: invalid index-pack output

“error: RPC failed; curl 56 Recv failure” 是一个常见的 Git 过错音讯,一般表明 Git 在与长途库房通讯时发生了问题。这个过错的原因可能有很多,一般导致这个过错的原因便是以下几种:

  1. 网络问题:这是最常见的原因之一。可能是网络连接不稳定或许与长途库房之间存在防火墙或代理问题。
  2. 长途服务器问题:长途库房服务器可能存在问题,导致无法完成通讯。在这种情况下,只能等候长途服务器康复正常。
  3. SSL证书问题:可能是因为 SSL 证书的问题,导致无法树立安全连接。测验在 Git 指令中运用 -c http.sslVerify=false 参数来禁用 SSL 验证,以检查问题是否与证书有关。
  4. 文件巨细约束:可能是因为 Git 客户端或服务器装备了文件巨细约束,导致无法传输大文件。能够测验添加 Git 客户端的缓冲区巨细。

参阅博客:git拉代码时报错error: RPC failed; curl 56 Recv failure: Connection reset by peer fatal: The remote end hu_error: rpc failed; curl 56 recv failure: connectio_enoshxu的博客-CSDN博客

依据我的排查,我在做小的变动时和这个库房连接都没有问题,所以只可能是缓存区太小,不能传输过大的数据。 同样的,git clone代码时,假如项目总巨细比较小时克隆代码没问题,占用内存比较大时就会如上报错。

git config --global http.postBuffer

经过指令检查到当时缓存区过小

git config有用攻略

git config --global http.postBuffer 1048576000

git config有用攻略

此时再进行git push即可成功。