git配置密钥及提交代码到仓库

发布时间 2023-07-02 14:19:47作者: demo123567

原文合集地址如下,有需要的朋友可以关注

本文地址

合集地址

一、git下载及安装

Git官网:www.git-scm.com/ 下载安装包进行安装。
在这里插入图片描述
点击downloads下载自己需要的安装包。本文基于windows系统。
下载安装包后双击exe文件,如何一系列next操作就行了。

二、git配置

在首次安装 Git 后,你需要进行一些配置以克隆和提交项目到 GitHub 仓库。以下是一些常见的配置步骤:

  1. 设置用户名和邮箱地址: 打开终端(命令行界面),运行以下命令,将你的用户名和邮箱地址配置到 Git 中(请替换成你自己的用户名和邮箱地址):

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

    这些信息将与你的 Git 提交关联,显示在提交历史和贡献者信息中。

  2. 生成 SSH 密钥: 为了能够与 GitHub 进行安全的通信,你可以生成 SSH 密钥。运行以下命令生成密钥:

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

    ssh-keygen 命令中 -b 4096 这一参数代表生成的密钥长度为 4096 位。
    它的意思是:

  • -b 表示指定密钥长度
  • 4096 为长度值,单位为位(bit)
    而 SSH 密钥的长度,一般分为:
  • 1024 bit:较低安全级别,不推荐
  • 2048 bit:基本安全级别,通常推荐
  • 3072 bit:较高安全级别
  • 4096 bit:高安全级别,提供最大安全性
    所以 -b 4096 指的是生成一个 4096 位(也就是 512 字节长度)的 SSH 密钥。
    密钥长度越长:
  • 安全级别越高
  • 提供的cryptographic strength 越高
  • 但密钥操作速度越慢
    所以 2048 bit 属于 SSH 密钥长度的"golden mean",提供了良好的安全性与操作效率平衡。
    但是 4096 bit 也相对常见,提供了最大的安全级别,能防止未来几年的密码学攻击。
    所以,在生成 SSH 密钥时, -b 后面的参数:
  • 2048:通常安全
  • 3072:较高安全
  • 4096:提供最高安全级别
    选择哪个密钥长度生成,主要取决于对安全性的要求。
    这将在默认目录(通常是 ~/.ssh/)下生成一对密钥文件:id_rsa(私钥)和 id_rsa.pub(公钥)。
    将公钥添加到 GitHub
    打开 GitHub -> Settings -> SSH and GPG keys -> New SSH key
    将 id_rsa.pub 文件的内容粘贴进去,点击 Add SSH key 添加。
    可以参考 GitHub 的文档 Generating a new SSH key and adding it to the ssh-agentAdding a new SSH key to your GitHub account 获取更详细的说明。
  1. 克隆项目: 打开终端,使用 git clone 命令克隆 GitHub 上的项目。在 GitHub 项目页面上,点击 "Code" 按钮获取仓库的 URL,并将其替换到以下命令中:
    在这里插入图片描述

    git clone <repository-url>
    

    这将在当前目录下创建一个与 GitHub 仓库相同名称的文件夹,并将仓库的内容下载到本地。

  2. 提交更改: 进入克隆的项目目录,对项目进行修改或添加新文件。使用以下命令将更改提交到本地仓库:

    git add .
    git commit -m "Commit message"
    

    在上述命令中,git add . 将所有修改的文件添加到暂存区,git commit -m "Commit message" 将暂存区中的更改提交到本地仓库,其中 "Commit message" 是你的提交信息。

  3. 推送到远程仓库: 使用以下命令将本地仓库的更改推送到 GitHub 远程仓库:

    git push origin master
    

    这将把本地的 master 分支推送到远程仓库。如果你使用的是其他分支,请相应地调整分支名称。