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

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.lryc.cn/news/530876.html

相关文章:

  • 基于Spring Security 6的OAuth2 系列之八 - 授权服务器--Spring Authrization Server的基本原理
  • 蓝桥与力扣刷题(234 回文链表)
  • Google C++ Style / 谷歌C++开源风格
  • Windows图形界面(GUI)-QT-C/C++ - QT Tab Widget
  • 【大数据技术】教程05:本机DataGrip远程连接虚拟机MySQL/Hive
  • C++:结构体和类
  • MATLAB的数据类型和各类数据类型转化示例
  • UE求职Demo开发日志#19 给物品找图标,实现装备增加属性,背包栏UI显示装备
  • C++泛型编程指南09 类模板实现和使用友元
  • 使用MATLAB进行雷达数据采集可视化
  • 【Elasticsearch】allow_no_indices
  • 54【ip+端口+根目录通信】
  • python算法和数据结构刷题[3]:哈希表、滑动窗口、双指针、回溯算法、贪心算法
  • DeepSeek横空出世,AI格局或将改写?
  • 聚簇索引、哈希索引、覆盖索引、索引分类、最左前缀原则、判断索引使用情况、索引失效条件、优化查询性能
  • OpenAI 实战进阶教程 - 第四节: 结合 Web 服务:构建 Flask API 网关
  • python的pre-commit库的使用
  • 架构技能(四):需求分析
  • Linux环境下的Java项目部署技巧:安装 Nginx
  • 前端 Vue 性能提升策略
  • 深入理解linux中的文件(上)
  • Unity特效插件GodFX
  • 从 C 到 C++:理解结构体中字符串的存储与操作
  • Linux进阶——时间服务器
  • 力扣 295. 数据流的中位数
  • 【Linux】进程状态和优先级
  • 携程Java开发面试题及参考答案 (200道-上)
  • Docker 部署教程jenkins
  • 深入理解开放寻址法中的三种探测序列
  • 图像噪声处理技术:让图像更清晰的艺术