gitea - fatal: Authentication failed

文章目录

    • gitea - fatal: Authentication failed
    • 概述
      • run_gitea_on_my_pkm.bat
    • 笔记
    • 删除windows凭证管理器中对应的url认证凭证
    • 启动gitea服务端的命令行
    • 正常用 TortoiseGit 提交代码
    • 备注
    • END

gitea - fatal: Authentication failed

概述

本地的git归档服务端使用gitea.
原来的用法就一个大库,用了许久后,git操作的速度就慢了,还有报错提示(e.g. 健康检查超时之类)。
现在新的库(e.g. myPKM)就采用开小库, 但是git服务还是3000端口。
自己写了git库模板,对于每个库只要在模板上将路径改了,让gitea的工作目录对应不同的库目录就行,还是挺方便的。
现在有个新问题,这样用之后,如果在不同库之间切换, 需要关掉上一个gitea服务,然后开启新库的gitea服务。

run_gitea_on_my_pkm.bat

@echo off
rem run_gitea_on_my_pkm.bat
set PATH=C:\Program Files\Git\bin;C:\Program Files\Git\cmd;C:\soft\gitea;%PATH%
call gitea --work-path E:\my_git_rep\rep_my_pkm\my_pkm

但是提交时,因为url是一样的(e.g. AppURL(ROOT_URL): http://localhost:3000/), 但是每个库的登录token不一样了,导致下一个库提交时,用的还是上一个库的认证token. 提交没问题,但是在push时报错如下:
在这里插入图片描述
这个问题的原因是,windows凭证管理器已经保存了gitea认证信息,认证信息的key是根据url。
如果像我这么用gitea(不同库都是一个url, 只是要独立启动单独的不同的gitea命令行),就会出现认证失败的问题。

对于由于同一个url引起的认证缓存(凭证)问题,导致认证失败,解决方法如下,任选:
方法1. 将gitea模板改了,让不同库使用不同的端口(e.g. rep1 use port 3000, rep2 use port 3001)
方法2. 如果本次要使用的库和上次不同(e.g. 上次正常提交了rep1, 现在要提交的是rep2), 在提交之前,去windows凭证管理器中,将这个url对应的凭证删掉,然后再启动rep对应的gitea命令行脚本。

考虑到自己的使用情况,并不会频繁切换不同的库(也就每一天结束时,要保存进度,才会启动gitea,进行入库),一天最多几次push操作。
那么我就采用方法2,也不是很麻烦。

笔记

删除windows凭证管理器中对应的url认证凭证

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
因为gitea服务端就用3000端口的url, 看到3000端口的url删掉就行。
一般同一个url的认证凭证就一个。

启动gitea服务端的命令行

这没啥要记录的。

正常用 TortoiseGit 提交代码

当前用的是 TortoiseGit 2.17.0.1
add, commit 都是项目目录的git本地操作,不会涉及到远端,也就不会引发认证操作。
然后push,就会触发认证操作。
此时,在浏览器中弹出gitea网页端登录操作页面。
在这里插入图片描述
输入自己配的库用户名和口令,选择登录
在这里插入图片描述
点击"应用授权"按钮。
在这里插入图片描述
网页端认证成功了,关掉此网页。
在这里插入图片描述
此时,再回到TortoiseGit的push的UI, 就会看到在认证之后在push东西,直到成功。

备注

以前用一个大库,一直正常用。
直到前1个月开始出现认证失败消息,只能暂时强行push, 能行,但是感觉很怪啊。
昨天才反应过来,确认是不同git库之间提交切换时,我的不同库的url都是一个引起的问题。

如果不是频繁的切换git库,用删除windows凭证的方法,也算方便,能接受。
建议这种情况,提交时,就只add + commit. 等当天结束了,再统一启动不同库的gitea命令行,进行push.

如果每次开新的小库,去将gitea服务端口搞成不同的,也是可以的。看自己情况。
如果要求绝对安全或者和同事间要协同,就用改port这种方法,每次都add, commit, push 一条龙。

END

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/68830.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【深度解析】DeepSeek-R1的五大隐藏提示词

LangChain系列文章目录 01-玩转LangChain:从模型调用到Prompt模板与输出解析的完整指南 02-玩转 LangChain Memory 模块:四种记忆类型详解及应用场景全覆盖 03-全面掌握 LangChain:从核心链条构建到动态任务分配的实战指南 04-玩转 LangChai…

基于RAG的知识库问答系统

基于RAG的知识库问答系统 结合语义检索与大语言模型技术,实现基于私有知识库的智能问答解决方案。采用两阶段处理架构,可快速定位相关文档并生成精准回答。 核心功能 知识向量化引擎 支持多语言文本嵌入(all-MiniLM-L6-v2模型)自…

Windsurf cursor vscode+cline 与Python快速开发指南

Windsurf简介 Windsurf是由Codeium推出的全球首个基于AI Flow范式的智能IDE,它通过强大的AI助手功能,显著提升开发效率。Windsurf集成了先进的代码补全、智能重构、代码生成等功能,特别适合Python开发者使用。 Python环境配置 1. Conda安装…

MySql运维篇---008:日志:错误日志、二进制日志、查询日志、慢查询日志,主从复制:概述 虚拟机更改ip注意事项

#先登录mysql mysql -uroot -p1234#通过此系统变量,查看当前mysql的版本中默认的日志格式是哪个 show variables like %binlog\_format%;1.2.3 查看 由于日志是以二进制方式存储的,不能直接读取,需要通过二进制日志查询工具 mysqlbinlog 来查…

踏入编程世界的第一个博客

我,一个双非一本大一新生,普通的不能再普通了,面对宏伟庞大的计算机世界仍显得举手无措,我自以为自身仍有些许骨气,不想普普通通,甚是浑浑噩噩的度过四年大学,经历了高考的打击,双非…

【背包问题】二维费用的背包问题

目录 二维费用的背包问题详解 总结: 空间优化: 1. 状态定义 2. 状态转移方程 3. 初始化 4. 遍历顺序 5. 时间复杂度 例题 1,一和零 2,盈利计划 二维费用的背包问题详解 前面讲到的01背包中,对物品的限定条件…

使用 DeepSeek-R1 等推理模型将 RAG 转换为 RAT,以实现更智能的 AI

使用 DeepSeek-R1 等推理模型将 RAG 转换为 RAT,以实现更智能的 AI 传统的检索增强生成(RAG)系统在生成具备上下文感知的答案方面表现出色。然而,它们往往存在以下不足: 精确性不足:单次推理可能会忽略复杂…

自然语言处理-词嵌入 (Word Embeddings)

人工智能例子汇总:AI常见的算法和例子-CSDN博客 词嵌入(Word Embedding)是一种将单词或短语映射到高维向量空间的技术,使其能够以数学方式表示单词之间的关系。词嵌入能够捕捉语义信息,使得相似的词在向量空间中具有…

小红的合数寻找

A-小红的合数寻找_牛客周赛 Round 79 题目描述 小红拿到了一个正整数 x,她希望你在 [x,2x] 区间内找到一个合数,你能帮帮她吗? 一个数为合数,当且仅当这个数是大于1的整数,并且不是质数。 输入描述 在一行上输入一…

笔灵ai写作技术浅析(三):深度学习

笔灵AI写作的深度学习技术主要基于Transformer架构,尤其是GPT(Generative Pre-trained Transformer)系列模型。 1. Transformer架构 Transformer架构由Vaswani等人在2017年提出,是GPT系列模型的基础。它摒弃了传统的循环神经网络(RNN)和卷积神经网络(CNN),完全依赖自…

IM 即时通讯系统-50-[特殊字符]cim(cross IM) 适用于开发者的分布式即时通讯系统

IM 开源系列 IM 即时通讯系统-41-开源 野火IM 专注于即时通讯实时音视频技术,提供优质可控的IMRTC能力 IM 即时通讯系统-42-基于netty实现的IM服务端,提供客户端jar包,可集成自己的登录系统 IM 即时通讯系统-43-简单的仿QQ聊天安卓APP IM 即时通讯系统-44-仿QQ即…

Zemax 中带有体素探测器的激光谐振腔

激光谐振腔是激光系统的基本组成部分,在光的放大和相干激光辐射的产生中起着至关重要的作用。 激光腔由两个放置在光学谐振器两端的镜子组成。一个镜子反射率高(后镜),而另一个镜子部分透明(输出耦合器)。…

mac连接linux服务器

1、mac连接linux服务器 # ssh -p 22 root192.168.1.152、mac指定密码连接linux服务器 (1) 先安装sshpass,下载后解压执行 ./configure && make && makeinstall https://sourceforge.net/projects/sshpass/ (2) 连接linux # sshpass -p \/\\\[\!\\wen12\$ s…

17.2 图形绘制4

版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。 17.2.5 线条样式 C#为画笔绘制线段提供了多种样式:一是线帽(包括起点和终点处)样式&#xff1b…

基于微信小程序的酒店管理系统设计与实现(源码+数据库+文档)

酒店管理小程序目录 目录 基于微信小程序的酒店管理系统设计与实现 一、前言 二、系统功能设计 三、系统实现 1、管理员模块的实现 (1) 用户信息管理 (2) 酒店管理员管理 (3) 房间信息管理 2、小程序序会员模块的实现 (1)系统首页 &#xff…

计算机网络 应用层 笔记 (电子邮件系统,SMTP,POP3,MIME,IMAP,万维网,HTTP,html)

电子邮件系统: SMTP协议 基本概念 工作原理 连接建立: 命令交互 客户端发送命令: 服务器响应: 邮件传输: 连接关闭: 主要命令 邮件发送流程 SMTP的缺点: MIME: POP3协议 基本概念…

React基础知识回顾详解

以下是React从前端面试基础到进阶的系统性学习内容,包含核心知识点和常见面试题解析: 一、React基础核心 JSX原理与本质 JSX编译过程(Babel转换)虚拟DOM工作原理面试题:React为何使用className而不是class?…

Golang Gin系列-9:Gin 集成Swagger生成文档

文档一直是一项乏味的工作(以我个人的拙见),但也是编码过程中最重要的任务之一。在本文中,我们将学习如何将Swagger规范与Gin框架集成。我们将实现JWT认证,请求体作为表单数据和JSON。这里唯一的先决条件是Gin服务器。…

零基础学习书生.浦语大模型-入门岛

第一关:Linux基础知识 Cursor连接服务器 使用Remote - SSH插件即可 注:46561:服务器端口号 运行指令 python hello_world.py端口映射 ssh -p 46561 rootssh.intern-ai.org.cn -CNg -L 7860:127.0.0.1:7860 -o StrictHostKeyCheckingno …

【SSM】Spring + SpringMVC + Mybatis

SSM课程,以下为该课程的笔记 bean:IOC容器创建的对象 P12 bean的生命周期 在bean中定义init()和destroy()方法,然后在xml中配置方法名,让bean对象能找到对应的生命周期方法。 或通过实现接口的方式定义声明周期方法。 P13 sett…