你好, VuePress !
首页
首页
  • 指南
    • github 库初始化
    • AI 项目
    • 薅羊毛

github 库初始化

在 Git 中设置用户名

可使用 git config 命令更改与 Git 提交关联的名称。 您设置的新名称将在从命令行推送到GitHub的任何未来提交中显示。 如果您想要将真实姓名保密,则可以使用任意文本作为您的 Git 用户名。

使用 git config 更改与 Git 提交关联的名称仅影响未来的提交,而不会更改用于过去提交的名称。

为计算机上的每个存储库设置 Git 用户名 打开终端。

设置 Git 用户名

    git config --global user.name "Mona Lisa"

确认您正确设置了 Git 用户名:

    git config --global user.name
    Mona Lisa

为一个仓库设置 Git 用户名

打开终端。 将当前工作目录更改为您想要在其中配置与 Git 提交关联的名称的本地仓库。

设置 Git 用户名:

    git config user.name "Mona Lisa"

确认您正确设置了 Git 用户名:

    git config user.name
    Mona Lisa

设置提交电子邮件地址

GitHub 使用你的提交电子邮件地址将提交与你的 GitHub.com 关联。 您可以选择要与从命令行以及基于 web 的 Git 操作推送的提交相关联的电子邮件地址。

对于基于 Web 的 Git 操作,可以在 GitHub.com 上设置提交电子邮件地址。 对于从命令行推送的提交,您可以在 Git 中设置提交电子邮件地址。

在更改提交电子邮件地址之前进行的提交仍与之前的电子邮件地址关联。

注意:您无法验证可用电子邮件地址服务中的电子邮件地址(允许您使用在一段时间后过期的临时地址接收电子邮件的服务)。 如果要将个人电子邮件地址保密,可以使用 GitHub 提供的 noreply 电子邮件地址。 有关详细信息,请参阅“设置提交电子邮件地址”。

如果想将个人电子邮件地址设为私密,则可以使用 GitHub 的 noreply 电子邮件地址作为提交电子邮件地址。 要将 noreply 电子邮件地址用于从命令行推送的提交,请在 Git 中设置提交电子邮件地址时使用该电子邮件地址。 要将 noreply 地址用于基于 Web 的 Git 操作,请在 GitHub 上设置提交电子邮件地址并选择“对我的电子邮件地址保密”。

您也可以选择阻止从命令行推送的提交显示您的个人电子邮件地址。 有关详细信息,请参阅“阻止会暴露个人电子邮件地址的命令行推送”。

为确保提交归因于你并且出现在你的贡献图中,请使用已连接到你在 GitHub.com 上的帐户的电子邮件地址,或者在电子邮件设置中提供给你的 noreply 电子邮件地址。 有关详细信息,请参阅“添加电子邮件地址到 GitHub 帐户”。

注意:如果于 2017 年 7 月 18 日之后在 GitHub.com 上创建了帐户,则用于 GitHub 的 noreply 电子邮件地址是一个 ID 号以及格式为 ID+USERNAME@users.noreply.github.com 的用户名。 如果于 2017 年 7 月 18 日之前在 GitHub.com 上创建了帐户,则来自 GitHub 的 noreply 电子邮件地址是 USERNAME@users.noreply.github.com。 可以通过在电子邮件设置中选择(或取消选择并重新选择)“对我的电子邮件地址保密”,为 GitHub 获取基于 ID 的 noreply 电子邮件地址。

如果使用 GitHub 的 noreply 电子邮件地址进行提交,然后更改用户名,则这些提交将不会与你在 GitHub.com 上的帐户相关联。 如果使用的是基于 ID 的 GitHub noreply 地址,则不适用。 有关详细信息,请参阅“更改 GitHub 用户名”。

在 GitHub 上设置提交电子邮件地址

如果尚未启用电子邮件地址隐私保护,则在 GitHub 上编辑、删除或创建文件或者合并拉取请求时,可以选择将作者更改提交到哪个经验证的电子邮件地址。 如果启用了电子邮件地址隐私,则不能更改提交作者电子邮件地址,默认情况下是 username@users.noreply.github.com。

在任何页面的右上角,单击个人资料照片,然后单击“设置”。

GitHub 帐户菜单的屏幕截图,其中显示了供用户查看和编辑其个人资料、内容和设置的选项。 菜单项“设置”用深橙色框出。在侧边栏的“访问”部分,单击“ 电子邮件”。

在“添加电子邮件地址”中,输入你的电子邮件地址并单击“添加”。 电子邮件添加按钮

验证你的电子邮件地址。 1. 在“Primary email address(主要电子邮件地址)”列表中,选择要与基于 web 的 Git 操作关联的电子邮件地址。 主要电子邮件地址选择

  1. 要在执行基于 web 的 Git 操作时对电子邮件地址保密,请单击“对我的电子邮件地址保密”。 对电子邮件地址保密的复选框图像

在 Git 中设置您的提交电子邮件地址 可以使用 git config 命令更改与 Git 提交关联的电子邮件地址。 设置的新电子邮件地址将在从命令行推送到 GitHub.com 的任何未来提交中显示。 在您更改提交电子邮件地址之前进行的任何提交仍与之前的电子邮件地址关联。

为计算机上的每个仓库设置电子邮件地址

打开终端。 在 Git 中设置电子邮件地址。

可以使用 GitHub 提供的 noreply 电子邮件地址或任何电子邮件地址。

    git config --global user.email "YOUR_EMAIL"

确认在 Git 中正确设置了电子邮件地址:

    git config --global user.email
    email@example.com

将电子邮件地址添加到 GitHub 上的帐户,以便提交归属于你并显示在你的贡献图中。 有关详细信息,请参阅“添加电子邮件地址到 GitHub 帐户”。

为一个仓库设置电子邮件地址

GitHub 使用在你的本地 Git 配置中设置的电子邮件地址将从命令行推送的提交与你在 GitHub.com 上的帐户相关联。

您可以更改与您在一个仓库中所进行的提交关联的电子邮件地址。 此操作将覆盖这一个仓库中的全局 Git 配置设置,但不会影响任何其他仓库。

打开终端。 将当前工作目录更改为您想要在其中配置与 Git 提交关联的电子邮件地址的本地仓库。 ####在 Git 中设置电子邮件地址。 可以使用 GitHub 提供的 noreply 电子邮件地址或任何电子邮件地址。

git config user.email "YOUR_EMAIL"

####确认在 Git 中正确设置了电子邮件地址:

    git config user.email
email@example.com

将电子邮件地址添加到 GitHub 上的帐户,以便提交归属于你并显示在你的贡献图中。 有关详细信息,请参阅“添加电子邮件地址到 GitHub 帐户”。

###生成新的 SSH 密钥并将其添加到 ssh-agent

检查现有 SSH 密钥后,您可以生成新 SSH 密钥以用于身份验证,然后将其添加到 ssh-agent。

关于 SSH 密钥密码 可以使用 SSH(安全外壳协议)访问和写入 GitHub.com 上的存储库中的数据。 通过 SSH 进行连接时,使用本地计算机上的私钥文件进行身份验证。 有关详细信息,请参阅“关于 SSH”。

生成 SSH 密钥时,可以添加密码以进一步保护密钥。 每当使用密钥时,都必须输入密码。 如果密钥具有密码并且你不想每次使用密钥时都输入密码,则可以将密钥添加到 SSH 代理。 SSH 代理会管理 SSH 密钥并记住你的密码。

如果您还没有 SSH 密钥,则必须生成新 SSH 密钥用于身份验证。 如果不确定是否已经拥有 SSH 密钥,您可以检查现有密钥。 有关详细信息,请参阅“检查现有 SSH 密钥”。

如果要使用硬件安全密钥向 GitHub 验证,则必须为硬件安全密钥生成新的 SSH 密钥。 使用密钥对进行身份验证时,您必须将硬件安全密钥连接到计算机。 有关详细信息,请参阅 OpenSSH 8.2 发行说明。

生成新 SSH 密钥 可在本地计算机上生成新的 SSH 密钥。 生成密钥后,可以将密钥添加到您在 GitHub.com 上的帐户,以启用通过 SSH 进行 Git 操作的身份验证。

注意:GitHub 通过在 2022 年 3 月 15 日删除旧的、不安全的密钥类型来提高安全性。

自该日期起,不再支持 DSA 密钥 (ssh-dss)。 无法在 GitHub.com上向个人帐户添加新的 DSA 密钥。

2021 年 11 月 2 日之前带有 valid_after 的 RSA 密钥 (ssh-rsa) 可以继续使用任何签名算法。 在该日期之后生成的 RSA 密钥必须使用 SHA-2 签名算法。 一些较旧的客户端可能需要升级才能使用 SHA-2 签名。

打开终端。

粘贴下面的文本(替换为您的 GitHub 电子邮件地址)。

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

注意:如果你使用的是不支持 Ed25519 算法的旧系统,请使用以下命令:

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

这将以提供的电子邮件地址为标签创建新 SSH 密钥。

Generating public/private ALGORITHM key pair.

当系统提示您“Enter a file in which to save the key(输入要保存密钥的文件)”时,可以按 Enter 键接受默认文件位置。 请注意,如果以前创建了 SSH 密钥,则 ssh-keygen 可能会要求重写另一个密钥,在这种情况下,我们建议创建自定义命名的 SSH 密钥。 为此,请键入默认文件位置,并将 id_ssh_keyname 替换为自定义密钥名称。

Enter a file in which to save the key (/home/YOU/.ssh/ALGORITHM):[Press enter]

在提示符下,键入安全密码。 有关详细信息,请参阅“使用 SSH 密钥密码”。

Enter passphrase (empty for no passphrase): [Type a passphrase]
Enter same passphrase again: [Type passphrase again]

将 SSH 密钥添加到 ssh-agent 在向 ssh 代理添加新的 SSH 密钥以管理您的密钥之前,您应该检查现有 SSH 密钥并生成新的 SSH 密钥。 在后台启动 ssh 代理。

    eval "    (ssh-agent -s)"
Agent pid 59566

根据您的环境,您可能需要使用不同的命令。 例如,在启动 ssh-agent 之前,你可能需要通过运行 sudo -s -H 根访问,或者可能需要使用 exec ssh-agent bash 或 exec ssh-agent zsh 运行 ssh-agent。

将 SSH 私钥添加到 ssh-agent。 如果使用其他名称创建了密钥或要添加具有其他名称的现有密钥,请将命令中的 id_ed25519 替换为私钥文件的名称。

    ssh-add ~/.ssh/id_ed25519

将 SSH 密钥添加到 GitHub 上的帐户。 有关详细信息,请参阅“新增 SSH 密钥到 GitHub 帐户”。

####为硬件安全密钥生成新的 SSH 密钥 如果您使用 macOS 或 Linux, 在生成新的 SSH 密钥之前,您可能需要更新 SSH 客户端或安装新的 SSH 客户端。 有关详细信息,请参阅“错误:未知密钥类型”。

将硬件安全密钥插入计算机。

打开终端。

粘贴下面的文本,将电子邮件地址替换为您的 GitHub 帐户的电子邮件地址。

    ssh-keygen -t ed25519-sk -C "YOUR_EMAIL"

注意:如果命令失败,并且你收到错误 invalid format 或 feature not supported,,则表明你可能在使用不支持 Ed25519 算法的硬件安全密钥。 请输入以下命令。

    ssh-keygen -t ecdsa-sk -C "your_email@example.com"

出现提示时,请触摸硬件安全密钥上的按钮。

当提示您“Enter a file in which to save the key(输入要保存密钥的文件)”时,按 Enter 接受默认文件位置。

Enter a file in which to save the key (/home/YOU/.ssh/id_ed25519_sk):[Press enter]

当提示你输入密码时,请按 Enter。

Enter passphrase (empty for no passphrase): [Type a passphrase]
Enter same passphrase again: [Type passphrase again]

将 SSH 密钥添加到 GitHub 上的帐户。 有关详细信息,请参阅“新增 SSH 密钥到 GitHub 帐户”。

###将 GPG 密钥添加到 GitHub 帐户

####检查现有 GPG 密钥

    gpg --list-secret-keys --keyid-format=long

####生成新 GPG 密钥

    gpg --default-new-key-algo rsa4096 --gen-key
    gpg --full-generate-key

####使用 gpg --list-secret-keys --keyid-format=long 命令列出你拥有其公钥和私钥的长形式 GPG 密钥。 签名提交或标记需要私钥

     gpg --list-secret-keys --keyid-format=long

####若要在 Git 中设置 GPG 签名主键,请粘贴下面的文本,替换要使用的 GPG 主键 ID。 在本例中,GPG 密钥 ID 为 3AA5C34371567BD2:

    git config --global user.signingkey 3AA5C34371567BD2

####若要将 Git 配置为默认对所有提交进行签名

    git config --global commit.gpgsign true

####提交签名

    git commit -S -m "YOUR_COMMIT_MESSAGE"

####将电子邮件与 GPG 密钥关联

打开Git Bash。 1. 使用 gpg --list-secret-keys --keyid-format=long 命令列出你拥有其公钥和私钥的长形式 GPG 密钥。 签名提交或标记需要私钥。

    gpg --list-secret-keys --keyid-format=long

注意:Linux 上的某些 GPG 安装可能需要改用 gpg2 --list-keys --keyid-format LONG 查看现有密钥的列表。 在这种情况下,还需要通过运行 git config --global gpg.program gpg2 来配置 Git 以使用 gpg2。

  1. 从 GPG 密钥列表中复制您想要使用的 GPG 密钥 ID 的长形式。 在本例中,GPG 密钥 ID 为 3AA5C34371567BD2:
    gpg --list-secret-keys --keyid-format=long
    /Users/hubot/.gnupg/secring.gpg
    ------------------------------------ 
    sec 4096R/ 3AA5C34371567BD2 2016-03-10 [expires: 2017-03-10]
    uid Hubot 
    ssb 4096R/4BB6D45482678BE3 2016-03-10 

输入 gpg --edit-key GPG key ID,替换为你想要使用的 GPG 密钥 ID。 在以下示例中,GPG 密钥 ID 为 3AA5C34371567BD2:

    gpg --edit-key 3AA5C34371567BD2

输入 gpg adduid 以添加用户 ID 详细信息。

    gpg    adduid

按照提示提供您的真实姓名、电子邮件地址和任何注释。 可以通过选择 N、C 或 E 来修改条目。 要将电子邮件地址保密,请使用 GitHub 提供的 no-reply 电子邮件地址。 有关详细信息,请参阅“设置提交电子邮件地址”。

Real Name: OCTOCAT Email address: "octocat@github.com" Comment: GITHUB-KEY Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? 输入 O 以确认你的选择。

输入密钥的密码。

输入 gpg save 以保存更改

    gpg    save

输入 gpg --armor --export GPG key ID,替换为你想要使用的 GPG 密钥 ID。 在以下示例中,GPG 密钥 ID 为 3AA5C34371567BD2:

    gpg --armor --export 3AA5C34371567BD2
    Prints the GPG key, in ASCII armor format

####通过将 GPG 密钥添加到 GitHub 帐户来上传 GPG 密钥。

###关于远程仓库 GitHub 的协作开发方法取决于从您的本地仓库发布提交到 GitHub,以供其他人查看、提取和更新。

关于远程仓库 远程 URL 是 Git 一种指示“您的代码存储位置”的绝佳方式。 该 URL 可能是您在 GitHub 上的仓库,也可以是另一个用户的复刻,甚至在完全不同的服务器上。

您只能推送到两类 URL 地址:

HTTPS URL(例如 https://github.com/user/repo.git) SSH URL(例如 git@github.com:user/repo.git) Git 将远程 URL 与名称相关联,你的默认远程通常名为 origin。

####创建远程仓库 可以使用 git remote add 命令将远程 URL 与名称匹配。 例如,在命令行中输入以下命令:

    git remote add origin <REMOTE_URL>

这会将名称 origin 与 REMOTE_URL 相关联。

可以使用命令 git remote set-url 更改远程 URL。

选择远程仓库的 URL 克隆 GitHub.com 上可用的存储库有几种方法。

当您登录到帐户查看仓库时,可以用于将项目克隆到计算机上的 URL 在仓库详细信息下方提供。

有关设置或更改远程 URL 的信息,请参阅“管理远程仓库”。

#####使用 HTTPS URL 克隆 https:// 克隆 URL 在所有存储库上都可用,无论可见性如何。 即使你在防火墙或代理后面,https:// 克隆 URL 也有效。

在命令行上使用 HTTPS URL 将 git clone、git fetch、git pull 或 git push 执行到远程存储库时,Git 将要求你提供 GitHub 用户名和密码。 当 Git 提示你输入密码时,请输入你的personal access token。 或者,可以使用 Git 凭据管理器等凭据帮助程序。Git 的基于密码的身份验证已被删除,以支持更安全的身份验证方法。有关详细信息,请参阅“创建个人访问令牌”。

如果要访问使用 SAML SSO 的组织,并且使用的是 personal access token (classic),则在进行身份验证之前,还必须授权 personal access token 访问该组织。 有关详细信息,请参阅“关于使用 SAML 单点登录进行身份验证”和“授权用于 SAML 单点登录的个人访问令牌”。

提示:

您可以使用凭据小助手,让 Git 在每次与 GitHub 通信时记住您的 GitHub 凭据。 有关详细信息,请参阅“在 Git 中缓存 GitHub 凭据”。 要克隆仓库而不在命令行中对 GitHub 进行身份验证,您可以使用 GitHub Desktop 进行克隆。 有关详细信息,请参阅“将仓库从 GitHub 克隆到 GitHub Desktop”。 如果希望使用 SSH,但不能通过端口 22 进行连接,则可通过 HTTPS 端口使用 SSH。 有关详细信息,请参阅“在 HTTPS 端口使用 SSH”。

#####使用 SSH URL 克隆 SSH URL 通过 SSH(一种安全协议)提供 Git 仓库的访问权限。 若要使用这些 URL,必须在计算机上生成 SSH 密钥对,并将“公共”密钥添加到你在 GitHub.com上的帐户。 有关详细信息,请参阅“通过 SSH 连接到 GitHub”。

使用 SSH URL 将 git clone、git fetch、git pull 或 git push 执行到远程存储库时,系统将提示你输入密码,并且必须提供 SSH 密钥密码。 有关详细信息,请参阅“使用 SSH 密钥密码”。

如果要访问使用 SAML 单一登录 (SSO) 的组织,在进行身份验证之前,还必须授权 SSH 密钥以访问组织。 有关详细信息,请参阅 GitHub Enterprise Cloud 文档中的“关于使用 SAML 单点登录进行身份验证”和“授权用于 SAML 单点登录的 SSH 密钥”。

提示:可以使用 SSH URL 将存储库克隆到计算机,或作为将代码部署到生产服务器的安全方法。 您还可以将 SSH 代理转发与部署脚本一起使用,以避免管理服务器上的密钥。 有关详细信息,请参阅“使用 SSH 代理转发”。

#####使用 GitHub CLI 克隆 您还可以安装 GitHub CLI 以在终端中使用 GitHub 工作流程。 有关详细信息,请参阅“关于 GitHub CLI”。

#####使用 Subversion 克隆 注意:将于 2024 年 1 月 8 日从 GitHub 中删除 Subversion 支持。 2024 年 1 月 8 日之后的 GitHub Enterprise Server 未来版本也将取消 Subversion 支持。 若要详细了解此内容,请参阅 GitHub 博客。

#####还可以使用 Subversion 客户端访问 GitHub 上的任何存储库。 Subversion 提供不同于 Git 的功能集。 有关详细信息,请参阅“What are the differences between Subversion and Git?”。

您也可以从 Subversion 客户端访问 GitHub 上的仓库。 有关详细信息,请参阅“Subversion 客户端支持”。

Last Updated:
Contributors: jickylive
Next
AI 项目