在 PowerShell 中安装 Git 主要有以下几种方法。对于 Windows 10 和 Windows 11 首选推荐使用 Winget,因为它是 Windows 系统内置的包管理器,无需额外安装。


方法一:使用 Winget (Windows 包管理器) - 推荐

Winget 是微软官方的 Windows 包管理器,内置于最新的 Windows 10 和 Windows 11 中。这是最简单、最干净的安装方式。

  1. 以管理员身份打开 PowerShell

    • 在开始菜单中搜索 PowerShell
    • 右键点击 “Windows PowerShell”,选择 “以管理员身份运行”。
  2. 搜索 Git 包 (可选,用于确认)
    运行以下命令可以查看 Winget 软件源中可用的 Git 版本。

    1
    winget search git

    你会看到一个列表,其中应该包含 Git.Git

  3. 安装 Git
    执行以下命令来安装 Git。-e 参数表示精确匹配,确保安装的是正确的 Git.Git 包。

    1
    winget install -e --id Git.Git

    Winget 会自动下载最新版本的 Git 安装程序并静默安装。

  4. 验证安装
    安装完成后,需要重启你的 PowerShell 终端,以使系统环境变量(PATH)生效。然后输入以下命令:

    1
    git --version

    如果看到类似 git version 2.45.1.windows.1 的输出,说明 Git 已成功安装。


方法二:使用 Chocolatey (流行的第三方包管理器)

如果你已经在使用或偏好 Chocolatey,这也是一个非常好的选择。

  1. 安装 Chocolatey (如果尚未安装)

    • 管理员身份打开 PowerShell。
    • 运行以下命令来安装 Chocolatey。请务必从 Chocolatey 官网 复制最新的安装脚本,以确保安全。
    1
    Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
    • 等待安装完成。
  2. 使用 Chocolatey 安装 Git
    新的管理员 PowerShell 窗口中,运行以下命令:

    1
    choco install git -y

    -y 参数会自动确认所有提示,实现无人值守安装。

  3. 验证安装
    同样,重启 PowerShell 终端后,检查 Git 版本:

    1
    git --version

方法三:使用 Scoop (专注于开发工具的包管理器)

Scoop 是另一个深受开发者喜爱的命令行安装工具,它将程序安装在用户目录下,保持系统清洁。

  1. 安装 Scoop (如果尚未安装)

    • 打开一个普通的 PowerShell 窗口 (无需管理员)。
    • 运行以下命令设置执行策略并安装 Scoop:
    1
    2
    3
    4
    # 设置执行策略,允许运行本地脚本
    Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
    # 安装 Scoop
    irm get.scoop.sh | iex
  2. 使用 Scoop 安装 Git
    在同一个 PowerShell 窗口中,运行:

    1
    scoop install git
  3. 验证安装
    Scoop 会自动处理好路径问题,通常无需重启终端。

    1
    git --version

方法四:使用 PowerShell 脚本手动下载和安装 (高级)

如果你不想使用包管理器,也可以用 PowerShell 脚本来自动化下载和静默安装的过程。

  1. 以管理员身份打开 PowerShell

  2. 运行以下脚本。这个脚本会从 Git 官网下载最新的 Windows 安装程序,并以静默模式运行它。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    # 定义下载链接和本地保存路径
    # 注意:这个 URL 可能会变化,你可以去官网 https://git-scm.com/download/win 查看最新的下载链接
    $gitUrl = "https://github.com/git-for-windows/git/releases/download/v2.45.1.windows.1/Git-2.45.1-64-bit.exe"
    $outputFile = "$env:TEMP\Git-Installer.exe"

    # 下载安装程序
    Write-Host "正在从 $gitUrl 下载 Git 安装程序..."
    Invoke-WebRequest -Uri $gitUrl -OutFile $outputFile

    # 静默安装 Git
    Write-Host "正在静默安装 Git..."
    Start-Process -FilePath $outputFile -ArgumentList "/VERYSILENT /NORESTART" -Wait

    # 清理安装文件
    Write-Host "清理临时安装文件..."
    Remove-Item -Path $outputFile

    Write-Host "Git 安装完成!请重启 PowerShell 终端以使用 'git' 命令。"
  3. 验证安装
    重启 PowerShell 终端后,检查版本:

    1
    git --version

总结与对比

方法 推荐人群 核心命令 优点 缺点
Winget (推荐) 所有 Windows 10/11 用户 winget install -e --id Git.Git 系统内置、干净、微软官方支持 老旧 Windows 版本不支持
Chocolatey 已在使用 Choco 的用户,或需要管理大量软件的用户 choco install git -y 软件库庞大,功能强大 需要额外安装 Chocolatey
Scoop 开发者,喜欢便携式应用和干净环境的用户 scoop install git 绿色安装(不污染系统)、环境隔离 需要额外安装 Scoop
手动脚本 需要在脚本中自动化部署,或无法使用包管理器的特殊场景 Invoke-WebRequest + Start-Process 完全控制安装过程和版本 脚本复杂,下载链接可能失效

对于绝大多数人来说,直接在 PowerShell 中运行 winget install -e --id Git.Git 是最快、最好的选择。

绑定账号和配置SSH密钥:

  1. 绑定账号信息:设置你的用户名和邮箱,这样你提交的每一个 commit 都能正确地标识出作者。
  2. 配置 SSH 密钥:通过 SSH 协议与远程仓库(如 GitHub、Gitee、GitLab)进行安全通信,避免每次推送(push)或拉取(pull)时都输入用户名和密码。

下面是详细的步骤,请继续在你的 PowerShell 终端中操作。


第一步:绑定账号 (配置 Git 用户信息)

这会设置一个全局的(global)用户名和邮箱,适用于你在这台电脑上的所有 Git 仓库。

  1. 设置用户名
    "你的用户名" 替换成你的 GitHub 或 Gitee 上的用户名(或者任何你希望在提交记录中显示的名字)。

    1
    git config --global user.name "你的用户名"

    例如:git config --global user.name "JohnDoe"

  2. 设置邮箱
    "你的邮箱@example.com" 替换成你在 GitHub 或 Gitee 上注册时使用的邮箱。

    1
    git config --global user.email "你的邮箱@example.com"

    例如:git config --global user.email "[email protected]"

  3. 验证配置
    运行以下命令,检查你的配置是否已生效。

    1
    git config --list

    你应该能在输出列表的末尾看到刚刚设置的 user.nameuser.email


第二步:开启 SSH 登录 (生成并配置 SSH 密钥)

这个过程分为三小步:生成密钥、将公钥添加到你的 Git 平台、验证连接。

2.1 生成新的 SSH 密钥

  1. 打开 PowerShell (如果已关闭)。

  2. 运行 ssh-keygen 命令
    推荐使用 ed25519 算法,它比传统的 RSA 更安全、更高效。将命令中的邮箱换成你自己的。

    1
    ssh-keygen -t ed25519 -C "你的邮箱@example.com"
  3. 按照提示操作

    • Enter a file in which to save the key (...):这里是询问你保存密钥的位置。直接按回车键接受默认路径即可 (通常是 C:\Users\你的用户名\.ssh\id_ed25519)。
    • Enter passphrase (empty for no passphrase):这里是让你为密钥设置一个密码。
      • 如果设置密码:每次使用此密钥时(例如 git push),都需要输入这个密码,安全性更高。
      • 如果不设置密码:直接按回车键即可。这样操作更方便,但安全性稍低。对于个人电脑,不设置密码也是很常见的。
    • 再次输入密码确认(如果上一步设置了的话)。

    完成后,你会在你的用户目录下的 .ssh 文件夹里看到两个文件:

    • id_ed25519 (私钥,绝不能泄露给任何人!)
    • id_ed25519.pub (公钥,这个是需要提供给外部服务的,如 GitHub)

2.2 将 SSH 公钥添加到 Git 平台 (以 GitHub 为例)

  1. 复制你的公钥内容
    在 PowerShell 中运行以下命令,它会直接将公钥文件的内容复制到你的剪贴板。

    1
    Get-Content ~/.ssh/id_ed25519.pub | Set-Clipboard

    提示: ~ 是一个快捷方式,代表你的用户主目录 (C:\Users\你的用户名)。

  2. 登录你的 GitHub 账号

  3. 导航到 SSH 设置页面

    • 点击右上角的头像,选择 Settings
    • 在左侧菜单中,点击 SSH and GPG keys
    • 点击绿色的 New SSH key 按钮。
  4. 添加公钥

    • Title:给这个密钥起一个描述性的名字,比如 My Windows PCPowerShell Key,方便你以后识别。
    • Key:在文本框里粘贴你刚才复制的公钥内容(Ctrl + V)。它应该是以 ssh-ed25519 开头,以你的邮箱结尾的一长串字符。
    • 点击 Add SSH key

对于 Gitee (码云) 或 GitLab,过程非常类似,都是在个人设置中找到 “SSH 密钥” 或 “SSH Keys” 的选项。

2.3 验证 SSH 连接

最后一步,测试一下你的电脑和 GitHub 之间的 SSH 连接是否畅通。

  1. 在 PowerShell 中运行:

    1
    ssh -T [email protected]

    如果你配置的是 Gitee,则运行 ssh -T [email protected]

  2. 处理首次连接的提示
    你很可能会看到这样一段警告:

    1
    2
    3
    The authenticity of host 'github.com (IP_ADDRESS)' can't be established.
    ED25519 key fingerprint is SHA256:....
    Are you sure you want to continue connecting (yes/no/[fingerprint])?

    这是正常的,因为这是你第一次通过 SSH 连接到这个主机。输入 yes 然后按回车。

  3. 查看成功信息
    如果一切配置正确,你会看到一条欢迎信息:

    1
    Hi YourUsername! You've successfully authenticated, but GitHub does not provide shell access.

    看到这条信息就意味着你的 SSH 密钥已经配置成功了!


总结

现在已经完成了所有基础配置。

  • Git 身份已经设置完毕。
  • 电脑和远程 Git 平台之间的 SSH 安全通道已经建立。

接下来克隆一个仓库时,请务必使用 SSH 链接,而不是 HTTPS 链接。

  • SSH 链接格式: [email protected]:用户名/仓库名.git
  • HTTPS 链接格式: https://github.com/用户名/仓库名.git

使用 SSH 链接克隆、拉取和推送时,Git 将自动使用你配置好的密钥进行认证,无需再输入密码。

例如,克隆一个仓库:

1
git clone [email protected]:owner/project.git