首页 > 其他分享 >如何使用 Git 和 SSH 将项目推送到 GitHub

如何使用 Git 和 SSH 将项目推送到 GitHub

时间:2024-09-08 08:52:58浏览次数:11  
标签:GitHub Git 密钥 git 添加 SSH

目录

1. 前提条件

2. 安装 Git

3. 生成 SSH 密钥

生成 SSH 密钥的步骤:

添加 SSH 密钥到 SSH Agent:

4. 将 SSH 密钥添加到 GitHub

5. 配置 Git 用户信息

6. 将本地代码推送到 GitHub

1. 初始化本地 Git 仓库

2. 添加远程仓库

3. 添加文件并提交

4. 推送到 GitHub

7. 常见问题及解决方法

1. GitHub 提示权限拒绝 (Permission denied)

2. 连接 GitHub 超时或被重置

3. 无法解析主机名 (Could not resolve hostname)

8. 总结


1. 前提条件

在开始之前,你需要确保:

  • 你已经注册了 GitHub 账号。
  • 本地已经安装了 Git 工具,或者按照后面的步骤进行安装。

2. 安装 Git

如果你还没有安装 Git,可以按照以下步骤操作:

  • 访问 Git 官网 并下载适合你操作系统的版本。
  • 安装过程中,建议保留默认设置,除非你有特殊需求。

安装完成后,打开命令行(Windows 用户可以使用 Git Bash),输入以下命令来检查是否安装成功:

git --version

你应该会看到类似以下输出:

git version 2.x.x

3. 生成 SSH 密钥

为了能够通过 SSH 连接到 GitHub,我们首先需要生成 SSH 密钥。SSH 是一种安全协议,用于在远程服务器之间进行加密通信。

生成 SSH 密钥的步骤:
  1. 打开 Git Bash 或终端,执行以下命令生成 SSH 密钥:

    ssh-keygen -t ed25519 -C "[email protected]"

    其中 [email protected] 是你注册 GitHub 时使用的邮箱。

  2. 当提示 Enter file in which to save the key 时,直接按回车键,使用默认位置。

  3. 如果不想为密钥设置密码,可以在 Enter passphrase 提示时直接按回车键。

  4. 生成密钥后,你会看到类似以下的输出:

    Your identification has been saved in /c/Users/YourName/.ssh/id_ed25519 Your public key has been saved in /c/Users/YourName/.ssh/id_ed25519.pub
添加 SSH 密钥到 SSH Agent:

在生成密钥后,你需要将其添加到 SSH Agent 中,以便自动管理密钥。执行以下命令:

eval "$(ssh-agent -s)" ssh-add ~/.ssh/id_ed25519

4. 将 SSH 密钥添加到 GitHub

现在我们需要将刚才生成的公钥添加到 GitHub 中:

  1. 打开 Git Bash 或终端,执行以下命令查看公钥内容:

    cat ~/.ssh/id_ed25519.pub

    这将显示你生成的公钥内容,复制这段内容。

  2. 登录到 GitHub,点击右上角的头像,选择 Settings

  3. 在左侧菜单中,点击 SSH and GPG keys,然后点击 New SSH key

  4. Title 栏中为你的密钥命名(例如 "My Laptop SSH Key"),然后将公钥粘贴到 Key 栏中。

  5. 点击 Add SSH key

至此,你已经成功将公钥添加到了 GitHub。


5. 配置 Git 用户信息

在推送代码之前,你需要配置 Git 的用户信息。执行以下命令:

git config --global user.name "Your Name"
git config --global user.email "[email protected]"

Your Name 是你的名字,[email protected] 是你注册 GitHub 的邮箱。


6. 将本地代码推送到 GitHub

1. 初始化本地 Git 仓库

进入你想要推送的项目文件夹,执行以下命令来初始化 Git 仓库:

git init
2. 添加远程仓库

假设你已经在 GitHub 上创建了一个新的仓库(比如 yunstudy),你需要将本地仓库与 GitHub 仓库关联起来:

git remote add origin [email protected]:yourusername/yunstudy.git

yourusernameyunstudy 替换为你的 GitHub 用户名和仓库名称。

3. 添加文件并提交

将文件添加到 Git 仓库并进行提交:

git add .
git commit -m "Initial commit"
git branch -M main
4. 推送到 GitHub

现在可以将本地代码推送到 GitHub:

git push -u origin main

如果一切顺利,你应该会看到类似以下的输出:

Enumerating objects: 84, done. Counting objects: 100% (84/84), done. Delta compression using up to 16 threads Compressing objects: 100% (68/68), done. Writing objects: 100% (84/84), 101.34 KiB | 338.00 KiB/s, done. Total 84 (delta 2), reused 0 (delta 0), pack-reused 0 remote: Resolving deltas: 100% (2/2), done. To github.com:yourusername/yunstudy.git * [new branch] main -> main branch 'main' set up to track 'origin/main'.

7. 常见问题及解决方法

1. GitHub 提示权限拒绝 (Permission denied)

如果你在推送代码时看到类似 Permission denied (publickey) 的错误,可能是 SSH 配置不正确。请确保:

  • 你的 SSH 公钥已正确添加到 GitHub。
  • SSH Agent 正在运行,并且私钥已添加到 Agent。
2. 连接 GitHub 超时或被重置

如果你在测试 SSH 连接时遇到 Connection reset by host,请尝试通过端口 443 连接:

ssh -T -p 443 [email protected]
3. 无法解析主机名 (Could not resolve hostname)

如果你看到类似 Could not resolve hostname 的错误,检查你的网络配置,确保 DNS 设置正确,并且能够连接到 GitHub 服务器。


8. 总结

通过本文,你学习了如何生成 SSH 密钥、将其添加到 GitHub,并将本地代码推送到 GitHub 仓库。SSH 是一个非常安全的认证方式,能够有效保护你和远程仓库之间的通信。

现在,你已经掌握了 Git 和 GitHub 的基础操作,接下来你可以更好地管理和分享你的代码。

标签:GitHub,Git,密钥,git,添加,SSH
From: https://blog.csdn.net/m0_72932408/article/details/141951022

相关文章

  • 优爱酷酷采系统软件支持批量链接采集可指定深度、资源嗅探支持10大类资源,批量下载短视
    图文详情如何批量嗅探资源采集网页链接?图像音频视频JsCssHtmlJson文档字体压缩其它自动下载链接转换仿站批量格式转换.webP,.avif格式图片下载,优爱酷酷采系统-想采就采把握精彩留住美好下载:UiCool.cn 【优爱酷酷采系统】✅链接:https://www.alipan.com/s/LxDVE3pjN......
  • GitHub每日最火火火项目(9.6)
    项目名称:Zeyi-Lin/HivisionIDPhotos项目介绍:HivisionIDPhotos是一个轻量级且高效的AI证件照制作工具。它能够通过人工智能技术,快速、准确地生成符合要求的证件照。这个工具具有较高的实用性,可以帮助用户节省时间和精力,无需专业的摄影知识和技能,就能轻松制作出满意的......
  • WGCLOUD【基本使用教程之使用 web ssh】
    WGCLOUD是一款非常优秀的运维监测工具,如果我们已经部署好了WGCLOUD,就可以在主机列表,看到有一个按钮【SSH】,没错,这个就是webssh,点击这个可以在浏览器中,连接到我们的Linux主机,并进行各种命令操作......
  • Gitlab-ce upgrade 16.0.1 to 17.3.1【Gitlab-ce 16.0.1 升级 17.3.1】
    文章目录背景gitlab-ce16.0.1升级17.3.1失败gitlab-ce16.0.1升级16.11.8失败gitlab-ce16.0.1升级16.7.9失败gitlab-ce16.0.1升级16.3.8成功gitlab-ce16.3.8升级16.11.8失败gitlab-ce16.3.8升级16.7.9成功gitlab-ce16.7.9升级16.11.8成功gitlab-ce16.......
  • git 推送本地文件
    引言参考文章:Git操作全流程介绍Git的工作流程如下所示:1.创建仓库1.1新建gitee仓库在gitee中创建一个仓库HelloWorld,如下所示:1.2初始化本地仓库假设本机有一个MyCode文件夹,进入该文件夹目录下,在该处打开gitbash。,输入命令将该文件夹初始化为git仓库:len......
  • GitLab管理之迁移GitLab群组
    迁移GitLab群组一、适用对象:迁移极狐GitLab群组包括以下类型:从私有化部署版极狐GitLab迁移到JihuLab.com。从JihuLab.com迁移到私有化部署版极狐GitLab。从一个私有化部署版极狐GitLab实例迁移到另一个。同一极狐GitLab实例中的群组之间的迁移。源实例必须运行1......
  • 掌握Git分支管理策略:让团队协作更高效
    在现代软件开发过程中,版本控制系统(VCS)是不可或缺的一部分。Git作为目前最流行的分布式版本控制系统之一,为开发者提供了强大的工具集来管理代码变更历史。然而,仅仅掌握Git的基本命令并不足以应对大型项目和团队协作的需求。有效的分支管理策略对于保持代码库的整洁、促进团......
  • Git使用经验总结7-自动检测未提交内容并进行提交
    标题有点绕,其实是这个意思:远端像Github这样的仓库由于网速的问题,你是没办法进行大数据量的提交的,因为很有可能会因为连接超时而导致提交中断。对于这种情况就需要使用脚本,检查未提交内容,分批次进行多次提交。例如笔者使用的PowerShell脚本如下:#获取当前未提交的.tif文件列表$......
  • GIT详细教学(保姆式教学)
    GIT学习目标1.能说出GIT的工作流程2.使用GIT完成常用操作【本地操作、运程操作、协作】git菜鸟网站https://www.runoob.com/git/git-tutorial.htmlgitlab服务器地址:http://47.96.143.141:9999/http://git.eehp.cn/users/sign_in00.GIT课程学习方法介绍务必......
  • Git使用经验总结6-删除远端历史记录
    删除远端的历史记录但是不影响最新的仓库内容是笔者一直想实现的功能,有两个很不错的用处:有的历史提交不慎包含了比较敏感的信息,提交的时候没注意,过了一段时间才发现。这个时候已经有了很多新的历史提交,无法再回退了。有时候会拿Git仓库存储代码文件以外的内容,比如美术资源、依......