GitHub实操【由浅入深-Git】

文章目录

  • [前情提要:GitHub/Gitee 的 HTTPS、SSH 与公开、私有仓库](#前情提要:GitHub/Gitee 的 HTTPS、SSH 与公开、私有仓库)
    • [1. 创建公开仓库 test1](#1. 创建公开仓库 test1)
      • [1.1 HTTPS 方式](#1.1 HTTPS 方式)
      • [1.2 SSH 方式](#1.2 SSH 方式)
    • [2. 公开仓库与私有仓库的区别](#2. 公开仓库与私有仓库的区别)
    • [3. 为什么 Git 操作仍然要求输入密码?](#3. 为什么 Git 操作仍然要求输入密码?)
    • [4. HTTPS 访问令牌(Token)](#4. HTTPS 访问令牌(Token))

前情提要:GitHub/Gitee 的 HTTPS、SSH 与公开、私有仓库

本文通过公开仓库和私有仓库,演示 HTTPS 与 SSH 两种 Git 远程连接方式。

1. 创建公开仓库 test1

在 GitHub 上创建仓库 test1,设置为公开。

1.1 HTTPS 方式

bash 复制代码
git clone https://github.com/用户名/test1.git

公开仓库通常无需登录即可克隆。HTTPS 方式不需要配置 SSH 密钥。

1.2 SSH 方式

首先检查当前用户主目录下的 .ssh 目录:

bash 复制代码
ls -la ~/.ssh/

如果没有可用的密钥对,可以生成密钥。新环境推荐使用 Ed25519,也可以使用 RSA:

bash 复制代码
ssh-keygen -t ed25519 -C "你的邮箱"
# 或者
ssh-keygen -t rsa -b 4096 -C "你的邮箱"

生成的私钥和公钥通常分别为 id_ed25519、id_ed25519.pub,或者 id_rsa、id_rsa.pub。将公钥文件的完整内容复制到 GitHub 的 Settings → SSH and GPG keys → New SSH key 中并保存,私钥必须保留在本地,不得泄露。

使用 SSH 地址克隆:

bash 复制代码
git clone git@github.com:用户名/test1.git

配置正确后,通常无需输入 GitHub 账号密码。如果提示输入私钥的 passphrase,则输入创建密钥时设置的密码短语。

2. 公开仓库与私有仓库的区别

公开仓库通常允许任何人通过 HTTPS 直接克隆和拉取代码;私有仓库则要求用户通过身份认证,并具有相应的访问权限。无论仓库公开还是私有,推送代码都需要相应的写入权限并且输入密码。

3. 为什么 Git 操作仍然要求输入密码?

首先使用以下命令查看当前远程仓库地址:

bash 复制代码
git remote -v

如果地址以 https://github.com/ 开头,说明使用 HTTPS;如果以 git@github.com: 开头,说明使用 SSH。

  • HTTPS 克隆公开仓库: 通常不需要认证。如果仍然要求输入密码,应检查仓库地址、凭据缓存等配置。
  • HTTPS 推送代码: 需要身份认证。GitHub 不再支持使用普通账号登录密码进行 Git 操作,应使用 Personal Access Token(个人访问令牌)代替密码。
  • SSH 克隆或推送: 需要正确配置 SSH 密钥;推送还要求具有仓库写入权限。私钥设置了密码短语时,仍可能要求输入该密码短语。ssh也是令牌

如果希望将 HTTPS 切换为 SSH,可以执行:

bash 复制代码
git remote set-url origin git@github.com:用户名/test1.git

其中,用户名和仓库名必须替换为实际值。

4. HTTPS 访问令牌(Token)

如果继续使用 HTTPS,可以进入 GitHub 的 Settings → Developer settings → Personal access tokens 创建令牌。通常优先选择 Fine-grained tokens(精细化令牌) ,只授权需要操作的仓库,并将 Contents 权限设置为 Read and write。

执行 git push 时,用户名输入 GitHub 用户名,密码提示处输入 Token,而不是账号登录密码。Token 应妥善保管,不要泄露。

总结: HTTPS 通过访问令牌等凭据进行身份认证,SSH 通过密钥进行身份认证;公开仓库通常可以匿名读取,但推送代码仍需要写入权限。配置时应先通过 git remote -v 确认当前使用的连接方式,再选择对应的认证方案。

相关推荐
说实话起个名字真难啊4 小时前
Git常用小问题笔记
笔记·git·elasticsearch
m4Rk_4 小时前
【论文阅读】Agent记忆机制(112):MemFit——保留对话原文,用多路检索降低长期记忆成本
论文阅读·人工智能·学习·开源·github
xcLeigh4 小时前
GitHub Copilot Workspace:从 Issue 到 PR 的 AI 全流程开发体验
人工智能·ai·github·copilot·issue·isuse
zxanz15 小时前
内网业务 HTTPS 落地:不用公网解析也能部署可信 SSL
github
孙琦Ray5 小时前
黑客用一首诗控制3400台服务器挖矿
github·开源安全·ollama·litellm·僵尸网络·加密货币挖矿
miofly6 小时前
GitHub 日榜趋势速报 | 2026-10-27
开源·github
钱栈up15 小时前
GitHub 热榜上手|AnyPS5:44k star 免模拟转译 PS5
github
怕浪猫15 小时前
Claude Code vs Codex:Computer Use 实现原理深度拆解
算法·面试·github
wflynn16 小时前
GitHub 今日推荐|gpu-unlock-ada:Ada 显卡张量算力翻倍解锁
开源·github·c