GitHub HTTPS 提交代码与个人访问令牌配置指南

GitHub HTTPS 提交代码与个人访问令牌配置指南
🧑 博主简介:ZEEKLOG博客专家历代文学网(PC端可以访问:https://literature.sinhy.com/#/?__c=1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,精通Java编程高并发设计Springboot和微服务,熟悉LinuxESXI虚拟化以及云原生Docker和K8s,热衷于探索科技的边界,并将理论知识转化为实际应用。保持对新技术的好奇心,乐于分享所学,希望通过我的实践经历和见解,启发他人的创新思维。在这里,我希望能与志同道合的朋友交流探讨,共同进步,一起在技术的世界里不断学习成长。
技术合作请加本人wx(注明来自ZEEKLOG):foreast_sea


在这里插入图片描述

🔐 GitHub HTTPS 提交代码与个人访问令牌配置指南

除了 SSH 方式,GitHub 确实支持通过 个人访问令牌(Personal Access Token,简称 PAT) 来配合 HTTPS 协议进行身份验证和提交代码。从 2021 年 8 月起,GitHub 不再支持仅用账户密码来通过 HTTPS 操作仓库,个人访问令牌(PAT)就成为了更安全的替代方式。

🔍 HTTPS 与 SSH 提交代码的区别

在开始具体步骤之前,我们先通过一个表格快速了解 HTTPS 和 SSH 两种方式提交代码的主要区别,这能帮助你更好地理解为什么选择 PAT(个人访问令牌)。

特性HTTPS 地址 (https://github.com/…)SSH 地址 ([email protected]:…)
认证方式个人访问令牌(PAT) 或 GitHub 密码(密码已不再支持命令行操作)SSH 密钥对
安全性高(使用令牌,可精细控制权限)
便利性需配置令牌,但可借助凭证助手缓存一次配置,长期使用
适用场景适用于所有网络(通常能绕过防火墙和代理限制),偶尔提交代码,或无法使用 SSH 的环境推荐所有开发者,尤其频繁操作 GitHub 的情况
仓库地址示例https://github.com/你的用户名/你的仓库名.git[email protected]:你的用户名/你的仓库名.git

💡 简要概括:如果你希望通过 HTTPS 免密提交,核心是生成一个个人访问令牌(PAT),并在第一次推送时用它来代替密码。

📌 重要提示:HTTPS提交的身份验证变化

自2021年8月13日起,GitHub不再支持使用账户密码直接通过命令行进行HTTPS操作(例如 git clone, git push)。你现在必须使用个人访问令牌(PAT) 或 SSH 密钥来代替。PAT 可以看作是一个具有特定权限的应用专用密码。

🛠️ 生成个人访问令牌(PAT)

  1. 登录GitHub:打开 GitHub 官网,登录你的账户。
  2. 进入设置:点击页面右上角的你的头像,在下拉菜单中选择 “Settings”
  3. 选择开发者设置:在左侧边栏中,找到并点击 “Developer settings”
  4. 选择个人访问令牌:在左侧边栏中,点击 “Personal access tokens”“Tokens (classic)”
  5. 生成新令牌:点击 “Generate new token” 按钮,然后选择 “Generate new token (classic)”
  6. 配置令牌信息
    • Note:为你的令牌起一个描述性的名字,例如 “My Desktop PC - HTTPS”。
    • Expiration:为令牌设置一个有效期。出于安全考虑,建议设置一个期限。你可以选择一段时间,也可以自定义日期。
    • Select scopes选择此令牌的权限范围。为了提交代码到私有仓库,你至少需要勾选 “repo” 权限。如果你还需要操作其他内容,如管理仓库的 Webhook,则需勾选相应权限。权限不是越多越好,按需分配即可
  7. 生成令牌:滚动到页面底部,点击 “Generate token” 按钮。

复制并保存令牌令牌只会在此处显示一次! 请立即将其复制并妥善保存到安全的地方(如密码管理器)。离开此页面后你将无法再次查看此令牌。

在这里插入图片描述

⚙️ 使用 PAT 通过 HTTPS 操作 Git

现在你有了 PAT,就可以在操作远程仓库时用它来代替密码了。

1. 克隆仓库

克隆仓库时,当提示输入用户名和密码时:

  • 用户名:输入你的 GitHub 用户名。
  • 密码输入你刚刚生成的 PAT,而不是你的 GitHub 账户密码。
git clone https://github.com/你的用户名/你的仓库名.git 

2. 在现有本地仓库中配置远程地址

如果你的本地仓库之前已经关联了一个 HTTPS 的远程地址,通常不需要修改远程地址本身(它仍然是 https://github.com/你的用户名/你的仓库名.git)。你只需要在首次推送时使用 PAT 进行认证即可。

你可以通过以下命令检查当前关联的远程地址:

git remote -v

如果输出显示远程地址是 SSH 格式的([email protected]:...),而你想改用 HTTPS,可以使用以下命令修改:

git remote set-url origin https://github.com/你的用户名/你的仓库名.git 

3. 进行提交和推送

在你对代码进行修改后,执行 git addgit commit 命令。当你执行 git push 时,Git 会提示你输入用户名和密码。此时:

  • Username:输入你的 GitHub 用户名。
  • Password输入你的 PAT
gitadd.git commit -m"你的提交说明"git push origin main # 或者你的分支名,例如 master

💾 配置 Git 凭证助手缓存 PAT

为了避免每次执行 git push 或其他远程操作时都需要重新输入用户名和 PAT,你可以配置 Git 的凭证助手(credential helper) 来在本地缓存你的凭证一段时间。

在 Windows 上:

Git for Windows 通常自带一个叫做 “manager” 的凭证助手。你可以使用以下命令启用全局缓存:

git config --global credential.helper manager 

在 macOS 上:

你可以使用 “osxkeychain” 助手将凭证存储在钥匙串中:

git config --global credential.helper osxkeychain 

在 Linux 上:

你可以使用 “cache” 助手来临时缓存凭证(默认 15分钟):

git config --global credential.helper cache 

如果你想设置更长的缓存时间(例如 1 小时,3600 秒),可以这样设置:

git config --global credential.helper "cache --timeout=3600"

配置凭证助手后,第一次操作远程仓库时输入了用户名和 PAT,系统就会将其缓存起来。在缓存有效期内,后续操作就不再需要手动输入了。

❌ 常见问题与解决

  • 提示认证失败(Authentication failed)
    • 请确保你在输入密码时粘贴的是 PAT,而不是你的 GitHub 账户密码。
    • 检查 PAT 的权限范围(Scopes) 是否足够(例如,是否勾选了 repo)。
    • 检查 PAT 是否已过期。如果过期,你需要重新生成一个新的 PAT。
  • 远程地址错误
    • 确保你的远程仓库地址是 HTTPS 格式(以 https://github.com/ 开头),而不是 SSH 格式(以 [email protected]: 开头)。你可以通过 git remote -v 命令查看,并使用 git remote set-url origin [新的HTTPS地址] 来修改。
  • 凭证助手不工作
    • 尝试重新输入一次凭证以触发缓存。可以执行一个会触发认证的命令,例如 git fetch
    • 检查 Git 的全局配置 git config --global --list,确认 credential.helper 是否设置正确。

💎 核心操作流程总结

整个通过 HTTPS 和 PAT 提交代码的过程,可以概括为以下几个关键步骤,你可以按此流程操作:

生成Personal Access Token
PAT复制并妥善保存PAT使用HTTPS URL克隆仓库
或修改现有仓库远程地址进行代码修改并提交
git add & git commit推送提交时使用PAT作为密码可选: 配置凭证助手缓存PAT

Read more

【GitHub开源AI精选】WhisperX:70倍实时语音转录、革命性词级时间戳与多说话人分离技术

【GitHub开源AI精选】WhisperX:70倍实时语音转录、革命性词级时间戳与多说话人分离技术

系列篇章💥 No.文章1【GitHub开源AI精选】LLM 驱动的影视解说工具:Narrato AI 一站式高效创作实践2【GitHub开源AI精选】德国比勒费尔德大学TryOffDiff——高保真服装重建的虚拟试穿技术新突破3【GitHub开源AI精选】哈工大(深圳)& 清华力作 FilmAgent:剧本自动生成 + 镜头智能规划,开启 AI 电影制作新时代4【GitHub开源AI精选】Lumina - Image 2.0 文生图模型,以小参数量实现高分辨率多图生成新突破5【GitHub开源AI精选】探索 Mobile-Agent:X-PLUG 推出的创新型移动智能操作代理6【GitHub开源AI精选】吴恩达团队开源VisionAgent:用自然语言开启计算机视觉新时代7【GitHub开源AI精选】Oumi:一站式AI开发平台,涵盖训练、评估与部署全流程8【GitHub开源AI精选】深入剖析RealtimeSTT:开源实时语音转文本库的强大功能与应用9【GitHub开源AI精选】PodAgent:多智能体协作播客生成框架,

By Ne0inhk
基于 Vue3 + Three.js 打造工业级 3D 场景编辑器 | 开源实战

基于 Vue3 + Three.js 打造工业级 3D 场景编辑器 | 开源实战

基于 Vue3 + Three.js 打造工业级 3D 场景编辑器 | 开源实战 作者:wuchen 在线体验:3D Editor Demo 📖 前言 在智慧工地、数字孪生、工业仿真等领域,3D 场景编辑器是核心底座工具。本文将带你从零实现一个功能完整的 Web 3D 编辑器,支持模型导入、实时变换、材质编辑、场景导出等专业功能。 项目技术栈: * Vue 3 + Vite 构建现代化前端架构 * Three.js 实现 WebGL 渲染与交互 * Element Plus 提供工业级 UI 组件 * Canvas 实现水印保护机制 适合人群:前端工程师、3D 可视化开发者、数字孪生从业者

By Ne0inhk
Flutter for OpenHarmony: Flutter 三方库 husky 守卫鸿蒙项目的 Git 提交规范(前端工程化必备)

Flutter for OpenHarmony: Flutter 三方库 husky 守卫鸿蒙项目的 Git 提交规范(前端工程化必备)

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net 前言 在 OpenHarmony 项目的团队协作中,我们最怕遇到“带病提交”的代码。比如:某位开发者提交的代码没经过 dart format 美化、或是包含明显的 lint 警告,甚至导致整个鸿蒙工程编译失败。如果在 CI(持续集成)阶段才发现,修复成本就太高了。 husky 是从前端生态圈引进的 Git Hooks 管理神器。它能让你极简地配置 Git 的各个钩子(如 pre-commit),在代码真正提交到远端(AtomGit)之前,强制执行格式化或单元测试,确保入库的代码永远是高质量的。 一、Git Hook 工作流模型 husky 在本地提交阶段建立了一道自动化的“安检门”。 通过 失败

By Ne0inhk