GIT经过 SSH 协议克隆仓库并拉取文档的配备说明

本地与GIT的远程环境配置

GIT通过 SSH 协议安全地克隆、推送和拉取代码,配置清单

步骤目的关键命令
1. 生成 SSH 密钥创建本地身份凭证ssh-keygen -t ed25519 -C "your_email"
2. 添加私钥到 agent方便管理私钥和密码ssh-add ~/.ssh/id_ed25519
3. 添加公钥到 Git 账户让远程服务器认识你的电脑(在网站设置页面操作)
4. 配置用户信息设置提交记录中的作者信息git config --global user.name "Name"
git config --global user.email "email"
5. 下拉文件从版本仓库拉取或克隆代码git clone git@github.com:用户名/仓库名.git

第一部分:配置 SSH 私钥(用于身份认证)

这一步的目的是让你的电脑能够通过 SSH 协议安全地连接到 Git 远程仓库(如 GitHub, GitLab, Gitee)。

1. 检查是否已存在 SSH 密钥

首先,打开终端(Windows 可用 Git Bash 或 PowerShell),输入以下命令,检查是否已经生成过 SSH 密钥。

ls -al ~/.ssh

常见的密钥对文件名有:

  • id_rsaid_rsa.pub (传统 RSA 算法)
  • id_ed25519id_ed25519.pub (更现代、更推荐的 Ed25519 算法)

如果你看到类似的文件对,说明你已经有了密钥。

2. 生成新的 SSH 密钥对(如果还没有)

如果你没有密钥,或者想创建一个新的,请使用以下命令。将 your_email@example.com 替换为你注册 Git 服务(如 GitHub)时使用的邮箱地址。

(推荐)使用 Ed25519 算法:

ssh-keygen -t ed25519 -C "your_email@example.com"

或者,使用传统的 RSA 算法(如果系统较老不支持 Ed25519):

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

执行命令后,你会看到以下提示:

  • Enter file in which to save the key (...): 让你输入密钥文件的保存路径和名称。直接按回车使用默认路径和文件名即可(例如 ~/.ssh/id_ed25519)。
  • Enter passphrase (empty for no passphrase): 让你为密钥设置一个密码(passphrase)。强烈建议设置,这会在使用密钥时增加一层密码保护,即使私钥文件泄露,没有密码也无法使用。如果不想设置,可直接回车。
3. 将 SSH 私钥添加到 ssh-agent

ssh-agent 是一个管理 SSH 私钥的程序,可以帮你记住密码,避免每次使用都输入。

a) 启动 ssh-agent:

# 在后台启动 ssh-agent
eval "$(ssh-agent -s)"

b) 将你的 SSH 私钥添加到 agent:

  • 如果你使用的是默认的 RSA 密钥(id_rsa):
    ssh-add ~/.ssh/id_rsa
  • 如果你使用的是 Ed25519 密钥(id_ed25519):
    ssh-add ~/.ssh/id_ed25519
  • 如果你生成密钥时自定义了文件名,请将路径替换为你的私钥文件路径。

输入此命令后,会提示你输入之前设置的 passphrase。

4. 将 SSH 公钥添加到你的 Git 账户

a) 复制公钥内容:

公钥文件是 .pub 后缀的那个。使用以下命令复制其内容到剪贴板。

  • macOS:
    pbcopy < ~/.ssh/id_ed25519.pub
  • Linux(如果有 xclip):
    xclip -sel clip < ~/.ssh/id_ed25519.pub
  • Windows(Git Bash):
    cat ~/.ssh/id_ed25519.pub | clip
  • 如果以上命令不工作,可以直接用文本编辑器打开 .pub 文件,全选并复制其全部内容。

b) 添加到 Git 服务器:

  1. 登录你的 GitHub / GitLab / Gitee 等账户。
  2. 进入 Settings(设置)
  3. 找到 SSH and GPG keys(SSH 和 GPG 密钥) 选项。
  4. 点击 New SSH key(新建 SSH 密钥)
  5. Title 中给这个密钥起个名字(如 “My Laptop”)。
  6. Key 的文本框中,粘贴你刚才复制的公钥内容。
  7. 点击 Add SSH key(添加 SSH 密钥)
5. 测试连接

在终端中输入以下命令来测试配置是否成功:

ssh -T git@github.com

(如果你用的是 GitLab,将 github.com 替换为 gitlab.com 或其他你的 Git 服务器地址)

如果第一次连接,会看到指纹确认提示,输入 yes
成功后,你会看到如下的欢迎信息:

Hi your_github_username! You’ve successfully authenticated, but GitHub does not provide shell access.


第二部分:配置提交者名称和邮箱(用于标识提交信息)

这一步是配置 Git 提交代码时,用来记录是谁提交的。这个信息与你的 Git 账户无关,但必须与你 Git 服务器账户上配置的主邮箱匹配,你的提交贡献才会被正确统计。

1. 设置全局配置(适用于本机所有仓库)

这是最常用的方式。

git config --global user.name "Your Name"
git config --global user.email "your_email@example.com"

"Your Name""your_email@example.com" 替换为你的姓名和你 Git 账户的主邮箱。

2. 为特定仓库设置局部配置(可选)

如果你某个项目想用不同的名字和邮箱,可以进入该项目的根目录,然后使用不带 --global 选项的命令:

cd /path/to/my/project
git config user.name "Your Project Specific Name"
git config user.email "your_project_email@example.com"

局部配置会覆盖全局配置。

3. 检查配置

使用以下命令检查所有当前的配置,确认设置是否正确:

git config --list

你也可以分别查看全局和局部的配置:

# 查看全局配置
git config --global --list
# 查看当前仓库的配置
git config --local --list

从 Git 仓库拉取文档:

1. 克隆仓库(首次获取)

如果是第一次获取仓库内容,使用 git clone

git clone <仓库地址>

示例:

# 使用 HTTPS
git clone https://github.com/用户名/仓库名.git
# 使用 SSH(需要配置 SSH 密钥)
git clone git@github.com:用户名/仓库名.git

2. 拉取更新(已存在的仓库)

如果本地已有仓库,只需要获取最新更改:

# 进入仓库文件夹
cd 仓库名
# 拉取远程更新
git pull

3. 拉取特定分支

# 拉取特定分支的更新
git pull origin 分支名
# 例如拉取 develop 分支
git pull origin develop

4. 使用图形化工具

GitKraken / Sourcetree

  • 打开软件,选择仓库
  • 点击 Pull 按钮

VS Code

  1. 打开项目文件夹
  2. 点击左侧源代码管理图标
  3. 点击 更多操作 → Pull

5. 解决常见问题

拉取冲突

如果拉取时出现冲突:

# 先暂存本地更改
git stash
# 拉取更新
git pull
# 恢复本地更改并解决冲突
git stash pop

强制拉取(覆盖本地更改)

注意:这会丢失本地未提交的更改

git fetch --all
git reset --hard origin/分支名

常用参数

# 拉取并显示详细信息
git pull --verbose
# 只下载不自动合并(可以先查看再决定)
git fetch
git log HEAD..origin/分支名  # 查看将要合并的提交
git merge origin/分支名      # 手动合并
posted @ 2025-12-01 18:36  gccbuaa  阅读(0)  评论(0)    收藏  举报