📜  git 不使用 ssh - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:00:57.076000             🧑  作者: Mango

Git 不使用 SSH

在使用 Git 进行版本控制时,使用 SSH 是非常常见的方式。但是,对于一些开发者来说,他们可能不想使用 SSH 作为他们和 Git 服务器的身份验证方式。本文将介绍如何在不使用 SSH 的情况下使用 Git 进行版本控制。

使用 HTTPS

使用 HTTPS 是 Git 的另一种身份验证方式。通过 HTTPS 进行身份验证通常需要输入用户名和密码来访问 Git 服务器。但是,为了提高安全性,可以使用凭据缓存来避免多次输入凭据。

配置 Git 的凭据缓存

Git 可以使用凭据缓存来保存用户的用户名和密码。在 Linux 和 macOS 上,Git 使用 Keychain 来保存凭据;在 Windows 上,Git 使用 Windows Credential Store 来保存凭据。

要启用凭据缓存,请使用以下 Git 命令:

git config --global credential.helper cache

该命令可以将凭据缓存保留 15 分钟(默认值)。要更改缓存保留时间,请使用以下命令:

git config --global credential.helper 'cache --timeout=3600'

以上命令将凭据缓存保留一个小时。使用 -1 将禁用缓存。

使用 Git Credential Manager

Git Credential Manager(GCM)是 Git 官方提供的一种凭据管理工具,它可以在 Windows、macOS 和 Linux 上运行。GCM 与 Windows Credential Store 和 Keychain 集成,可以自动保存凭据。

要使用 GCM,请访问 GitHub 发布页面 下载适合您的平台的版本。安装后,GCM 将自动启用并配置为默认凭据缓存。

使用 Git 的 Token 身份验证

Token 身份验证是一种使用访问令牌作为身份验证方式的方法。访问令牌是一种身份验证令牌,可以通过 Git 服务器或其他安全机构生成。访问令牌通常具有与使用 SSH 身份验证相同的权限级别。

访问令牌在 GitHub 和 GitLab 等 Git 服务器上很常见。如果您使用的 Git 服务器支持 Token 身份验证,请按照以下步骤操作:

  1. 登录您的 Git 服务器并生成一个访问令牌。

  2. 使用以下命令将令牌添加到 Git 身份验证存储区:

    git config --global credential.helper store
    git config --global credential.helper 'store --file ~/.my-credentials'
    echo "https://github.com/ my-access-token" | git credential-store --file ~/.my-credentials store
    

    这会将您的访问令牌保存在 ~/.my-credentials 中。请注意,您需要将 my-access-token 替换为您的令牌。

可以使用许多其他存储任务的工具来保存访问令牌,但是比较方便的是使用 git-credential-store 工具。

总结

这篇文章介绍了在不使用 SSH 的情况下使用 Git 进行版本控制的几种方法,包括使用 HTTPS、Git Credential Manager 和访问令牌身份验证。无论您是出于安全、个人偏好还是其他原因不想使用 SSH,这些选项都可以帮助您进行版本控制。