如何配置全局 Git 凭证

GitGitBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

Git 是一个强大的版本控制系统,需要进行适当的凭证配置才能实现无缝协作和安全的代码管理。本教程将指导开发者完成设置全局 Git 凭证的过程,探索各种认证方法,并确保与远程仓库的顺畅交互。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL git(("Git")) -.-> git/SetupandConfigGroup(["Setup and Config"]) git(("Git")) -.-> git/CollaborationandSharingGroup(["Collaboration and Sharing"]) git(("Git")) -.-> git/GitHubIntegrationToolsGroup(["GitHub Integration Tools"]) git/SetupandConfigGroup -.-> git/config("Set Configurations") git/CollaborationandSharingGroup -.-> git/remote("Manage Remotes") git/GitHubIntegrationToolsGroup -.-> git/alias("Create Aliases") git/GitHubIntegrationToolsGroup -.-> git/cli_config("Configure CLI") subgraph Lab Skills git/config -.-> lab-434732{{"如何配置全局 Git 凭证"}} git/remote -.-> lab-434732{{"如何配置全局 Git 凭证"}} git/alias -.-> lab-434732{{"如何配置全局 Git 凭证"}} git/cli_config -.-> lab-434732{{"如何配置全局 Git 凭证"}} end

Git 凭证基础

什么是 Git 凭证?

Git 凭证是一种认证机制,可让你安全地连接到远程 Git 仓库并与之交互。在推送、拉取或执行其他仓库操作时,它们有助于验证你的身份。

Git 凭证的类型

管理 Git 凭证有几种方法:

凭证类型 描述 使用场景
个人访问令牌(Personal Access Token) 临时的、可撤销的认证方式 现代工作流程中最推荐使用
SSH 密钥(SSH Keys) 基于加密密钥的认证方式 安全的无密码访问
用户名/密码(Username/Password) 传统的认证方法 安全性较低,逐渐被淘汰

为什么凭证配置很重要

graph TD A[Git 凭证配置] --> B[安全的仓库访问] A --> C[自动化工作流程] A --> D[一致的身份标识]

主要优点

  • 避免重复认证
  • 增强安全性
  • 实现无缝的仓库交互

凭证存储方法

  1. 缓存模式(Cache Mode):将凭证临时存储在内存中
  2. 存储模式(Store Mode):将凭证以明文形式保存在文件中
  3. 管理器模式(Manager Mode):使用特定于系统的凭证管理器

LabEx 建议

在 LabEx,我们建议使用个人访问令牌,以实现最安全、灵活的 Git 凭证管理方式。

配置全局设置

理解全局 Git 配置

全局 Git 设置允许你设置适用于系统上所有仓库的默认配置。这些设置有助于保持一致性并个性化你的 Git 体验。

设置用户信息

配置用户名

git config --global user.name "你的全名"

配置邮箱

git config --global user.email "[email protected]"

凭证配置方法

graph TD A[Git 凭证配置] A --> B[全局配置] A --> C[本地配置] A --> D[系统配置]

配置级别

级别 范围 配置命令
全局 当前用户 git config --global
本地 当前仓库 git config --local
系统 整个系统 git config --system

设置凭证助手

配置凭证存储

## 将凭证助手设置为缓存凭证
git config --global credential.helper cache

## 将凭证助手设置为永久存储
git config --global credential.helper store

## 设置带有超时时间(15 分钟)的凭证助手
git config --global credential.helper 'cache --timeout=900'

验证配置

检查当前配置

## 列出所有全局配置
git config --global --list

## 检查特定配置
git config --global user.name

LabEx 最佳实践

在 LabEx,我们建议:

  • 始终对个人设置使用全局配置
  • 保护好你的凭证
  • 定期审查和更新你的 Git 配置

高级配置技巧

直接编辑配置

## 在默认文本编辑器中打开全局配置
git config --global --edit

认证方法

Git 认证概述

认证对于安全访问仓库以及在 Git 操作过程中验证用户身份至关重要。

认证机制

graph TD A[Git 认证方法] A --> B[个人访问令牌] A --> C[SSH 密钥] A --> D[用户名/密码]

认证方法比较

方法 安全性 易用性 是否推荐
个人访问令牌 容易
SSH 密钥 非常高 中等
用户名/密码 简单

个人访问令牌认证

生成个人访问令牌

## 在 GitHub/GitLab 平台上
## 1. 导航到设置
## 2. 选择开发者设置
## 3. 创建新的个人访问令牌

配置令牌认证

## 使用令牌克隆仓库
git clone https://username:[email protected]/username/repository.git

## 或者配置凭证助手
git config --global credential.helper store

SSH 密钥认证

生成 SSH 密钥

## 生成新的 SSH 密钥
ssh-keygen -t ed25519 -C "[email protected]"

## 复制 SSH 公钥
cat ~/.ssh/id_ed25519.pub

将 SSH 密钥添加到 Git 平台

## 将 SSH 密钥添加到 GitHub/GitLab
## 1. 复制公钥
## 2. 导航到 SSH 密钥部分
## 3. 粘贴并保存

凭证管理工具

Git 凭证管理器

## 安装 Git 凭证管理器
sudo apt-get install git-credential-manager-core

## 配置凭证管理器
git config --global credential.helper manager-core

安全最佳实践

  • 使用个人访问令牌而非密码
  • 启用双因素认证
  • 定期轮换凭证
  • 使用 SSH 密钥增强安全性

LabEx 建议

在 LabEx,我们强烈建议:

  • 在大多数情况下使用个人访问令牌
  • 高级用户使用 SSH 密钥
  • 避免使用传统的用户名/密码方法

认证故障排除

常见认证错误

## 检查当前远程配置
git remote -v

## 验证凭证
ssh -T [email protected]

总结

对于使用版本控制系统的开发者来说,配置全局 Git 凭证是一项至关重要的技能。通过了解认证方法、设置合适的凭证并遵循最佳实践,你可以优化 Git 工作流程、提高安全性,并在不同平台和仓库间简化开发过程。