当前位置: 首页 > news >正文

Git 命令行教程:配置 SSH 密钥高效克隆与管理项目

摘要

本文详细介绍了如何使用 Git 命令行工具配置 SSH 密钥并高效克隆远程仓库。内容包括 Git 安装、SSH 密钥生成与配置、项目克隆步骤以及常见问题处理,旨在帮助开发者提升代码管理效率并避免常见连接问题。

Step1:安装Git

在开始之前,请确保已安装 Git 工具。若尚未安装或需要更新版本,请访问 Git 官方下载页面 获取最新版本。

https://git-scm.com/downloads

Step2:配置 SSH 密钥

使用 SSH 协议克隆项目比 HTTPS 更加稳定高效,尤其适用于大型仓库或复杂网络环境。以下是具体配置流程:

在本地电脑生成SSH密匙对

1.打开终端或Git Bash

2.运行下面的命令

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
  • -t rsa: 指定密钥的类型为 RSA。
  • -b 4096: 指定密钥的位数,4096 位是目前推荐的安全强度。
  • -C "your_email@example.com": 添加你的邮箱地址,以便识别这个密钥。

 3.根据提示操作,会问你储存路径和设置密码。结果如下:

username@DESKTOP-SOGAP83 MINGW64 
$ ssh-keygen -t rsa -b 4096 -C "your_account0@qq.com"Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/username/.ssh/id_rsa):  #这里输入要保存密钥的文件路径,/c/Users/username/.ssh/id_rsa是默认保存路径,不需要更改的话直接按Enter
Created directory '/c/Users/username/.ssh'. #我没有更改路径所以显示保存到了默认路径
Enter passphrase for "/c/Users/username/.ssh/id_rsa" (empty for no passphrase):  #设置一个密码来加密你的私钥然后按Enter
Enter same passphrase again:  #再次输入密码进行确认

 4.确认完会显示你的公匙和私匙的保存路径

Your identification has been saved in /c/Users/username/.ssh/id_rsa
Your public key has been saved in /c/Users/username/.ssh/id_rsa.pub

私钥被保存为:/c/Users/username/.ssh/id_rsa
公钥被保存为:/c/Users/username/.ssh/id_rsa.pub

  • 私钥 (id_rsa): 不要与任何人分享。它用于向服务器证明你的身份。
  • 公钥 (id_rsa.pub): 这是公开的,将它添加到你希望连接的服务器的 authorized_keys 文件中。

5.打开储存公钥的文件打开,并将内容复制下来(可以用记事本打开)

6.打开添加密匙的地方

7.将复制好的密匙添加到这个框里面

8.像这样就是成功了

9.我们现在再打开来看会发现没有add a new public key的提示了

 Step3: 找到项目的 HTTPS 或 SSH 的URL

打开你想要克隆的 GitHub 项目页面。在项目页面的右侧,你会看到一个绿色的Code代码按钮。    点击它,会出现一个下拉菜单。


 
 选择  HTTPS 或  SSH  选项。
   HTTPS:这是最简单的方式,适用于所有人。当你第一次使用 HTTPS 克隆某个私有项目时,GitHub 会提示你输入用户名和密码(或 Personal Access Token)。
   SSH: 如果你配置了 SSH 密钥,SSH 会更方便,因为它不需要每次都输入密码。复制显示在 URL 输入框中的链接

Step4:克隆项目

打开Git Bash(安装Git时候会自带)

运行(如果你不熟悉 SSH 或没有配置 SSH 密钥,就用这个)

git clone https://github.com/txchen-USTC/Zig-RiR.git #替换成你想要克隆的项目的HTTPS URL

或者运行(如果你已经配置了 SSH 密钥,推荐用这个)

git clone git@github.com:txchen-USTC/Zig-RiR.git #替换成你想要克隆的项目的SSH的URL

注释:
GitHub Desktop
  • 适合喜欢图形化界面操作的用户,点击后会自动用 GitHub Desktop 应用打开并克隆。

Visual Studio
  • 如果你用 VS Code 开发,点击后会提示在 VS Code 中打开并克隆。

Download ZIP
  • 如果你只是想要代码(不需要 git 历史记录和版本控制),可以直接下载 ZIP 包。

结果如下:

(注释:因为这是第一次通过 SSH 连接 GitHub,所以会提示验证主机指纹(The authenticity of host ... can't be established),输入了 yes 后,GitHub 的指纹已被记录在 ~/.ssh/known_hosts 中,下次不会再提示。)

注意事项

  1. 权限问题:确保私钥文件权限为 600(命令:chmod 600 ~/.ssh/id_rsa

  2. 密码修改:如需更改密钥密码,可使用 ssh-keygen -p -f ~/.ssh/id_rsa

  3. 多密钥管理:如需使用多个密钥,可通过 ~/.ssh/config 文件配置

总结

通过 SSH 密钥方式连接 Git 仓库可显著提升操作效率与安全性。本文涵盖从环境准备到实操的完整流程,重点包括:

  • SSH 密钥的生成与配置机制

  • 公钥在 GitHub 的添加流程

  • 两种项目克隆方式的对比与实践

  • 首次连接时的安全验证处理

掌握这些技能后,开发者可摆脱重复输入密码的繁琐过程,更加高效地管理代码项目


文章转载自:

http://1ycNXajA.cnkrd.cn
http://0Ik0EMDN.cnkrd.cn
http://iI9BjgxK.cnkrd.cn
http://kMNvcbjp.cnkrd.cn
http://hikL9W2T.cnkrd.cn
http://92FeT2zG.cnkrd.cn
http://ZYOWbNIO.cnkrd.cn
http://6DAgzyxo.cnkrd.cn
http://p96SC5Iv.cnkrd.cn
http://WwX0xNJl.cnkrd.cn
http://d4WeQoaA.cnkrd.cn
http://1QSTLksb.cnkrd.cn
http://sZ6gcIFr.cnkrd.cn
http://VuGVKyk3.cnkrd.cn
http://EgPPbrbs.cnkrd.cn
http://YdHgEzG4.cnkrd.cn
http://nJe45swo.cnkrd.cn
http://38gd0MqP.cnkrd.cn
http://0iKfoFuq.cnkrd.cn
http://zQogoRib.cnkrd.cn
http://JJtSlrYy.cnkrd.cn
http://RWjHPrWi.cnkrd.cn
http://NyhfxvbH.cnkrd.cn
http://plS5yIKc.cnkrd.cn
http://bdJKcEGg.cnkrd.cn
http://OiuA0deF.cnkrd.cn
http://mOXBCTBk.cnkrd.cn
http://GdoGONN7.cnkrd.cn
http://9VwKJCv5.cnkrd.cn
http://Bbh94VpZ.cnkrd.cn
http://www.dtcms.com/a/387758.html

相关文章:

  • 机器学习和数据科学的开源 Python 库-Streamlit
  • Roo Code 的Enhance Prompt「增强提示」功能详解
  • 检测IP是否正常的方法
  • JMeter线程组
  • Flink基于Paimon的实时湖仓解决方案的演进
  • 29、生成模型入门-从数据重构到智能创造
  • Dokcer的安装(ubuntu-20.04.6):
  • 梳理Axios请求的过程和 Vite 代理配置
  • 元宇宙与电竞产业:沉浸式交互重构电竞全链条生态
  • 【pycharm】index-tts2:之二 :ubuntu24.04重建UV虚拟环境
  • 点评项目(Redis中间件)数据操作相关知识总结
  • 从0死磕全栈第九天:Trae AI IDE一把梭,使用react-query快速打通前后端接口调试
  • 【论文阅读】MIDAS: 多模态交互式数字人合成,通过实时自回归视频生成
  • 为什么React Native 中点到了却不动
  • 学习React-13-useLayoutEffect
  • Redis-更新策略
  • 7、二叉树-四种遍历方式
  • 双指针:逛画展
  • 数字孪生能源大数据云平台建设方案
  • WPSOffice引用的组件
  • 按键分区和非按键分区对窗口计算的影响
  • 2020年下半年 系统架构设计师 综合知识
  • 传感器与传感网 | 第一章:传感器与感知技术
  • 在Jupyter Notebook里面渲染pyecharts无法显示
  • 在 React 项目里下载 CSV 文件常见的两种方式
  • 【脑电分析系列】第15篇:脑电功能连接性与脑网络分析(二):Granger因果性、图论指标与复杂网络构建
  • SpringMVC 系列博客(一):基础概念与注解开发入门
  • AI+Playwright+Pytest 自动化测试方案:优势、劣势与实战融合
  • docker启动Nginx并配置SSL自动续期.md
  • OpenStack 学习笔记(三):存储与计算核心组件管理实践