记一次Git抽风现场

news/2024/11/8 5:20:08/

这两天世界最大的猴类交友社区GitHub也被国人给攻陷了,只因国人在github建了一个仓库996.ICU,目的召集众猿人共同声讨996加班制度,有一种现实版猩球大战的节奏。何为996?就是朝9晚9连上6天。何为ICU?就是重症监护室。整个连起来就是上班996生病ICU,听起来真顺耳。就在前几天我自己面临了一次git偶发性事故,差点体验一把。

前言

前几天电脑抽风,下午正在敲着代码,几分钟前提交一个图标,后来经产品审查图标不好看需要换一个,发现本地代码使用git可以正常pull和push代码,就是不能提交这个图片。期初怀疑是一并提交jar和so包引起的,后来我切一个分支还原到只有这个图标,还是不行:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-807MpLrS-1587557693518)(https://note.youdao.com/yws/api/personal/file/F0BCFBA14E3F40739B460D8011ED05AC?method=download&shareKey=3d10eb43947becb14e9ce50799dfcb24)]
看到401首先想到的是权限不足,于是找管理员查看tfs上自己的权限,发现都正常的,也应该是正常的,因为自己可以正常的pull和push代码,无奈要尽快找原因,下周一要打包提测。

调大git推送限制

后来想到既然是图片、jar、so包,说不定和提交的文件质量有关。其实还是怀疑,因为就一个小图片和一个jar两个so包都很小,并且单个传也不行。于是百度、google,还真有这个说法的,并且满篇都是:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-L6e633hB-1587557693521)(https://note.youdao.com/yws/api/personal/file/0274D452F91B469BB68BE4FC99DF5291?method=download&shareKey=44bea29bdb3c16ff6bd4324ecef6172c)]
激动啊,试呗,试了好多遍,还是不行,于是仔细看是他们的报错原因:
RPC failed; HTTP 411 curl 22 The requested URL returned error: 411 Length Req
401和411差一个数,我的是401,是没有登录权限,他们的是411,是长度权限限制。耽误青春,没办法只能接着找原因。

端口号思考

后来想着是不是remote断开了,后来查看config,一切正常。着急啊,全网找过来也找不到什么原因,后来想到前段时间公司把常用的3389端口号和22端口号给禁了,这里也刚好有一个22,好巧,说不定就是这原因。于是我把电脑上之前改过的3389端口号以及防火墙策略恢复了,还是不行,重新更改,还是不行,那就是剩下22端口了。后来上网搜发现22端口和ssh链接有关,但我一直用的https形式remote代码库的,跟我关系不大,不过这个22端口一直挂在我心里。。。继续度娘,狗爹,就这样半天过去,今天周五难不成要加班吗,其实已经8点了,还是下班吧。

验证环境

一晚上就想着这件事,第二天我把自己的笔记本带来了,连上公司的局域网,然后用自己的代码库账户拉代码提交代码,拉文件提交文件,卧槽,一切如丝般顺滑。顺便试了试昨天的22端口,采用ssh形式连一下果真不行,sourcetree提示这不是一个git仓库。至少我的笔记本是正确的,能战斗的,我开始怀疑我的台式机了。越想越想不开,装机?等等再看看,装机吧,等等再看看,装吧,哎,装。为了下周一的快准狠,这里也必须痛下决断,装好后先装git,然后进行尝试,结果呢还是老样子,雨一直下。

怀疑windows凭证

后来我看到有人提到说是“windows凭证”的问题,说是windows凭证保存有之前的账号密码,可能账号密码错了。于是希望又来了,进到系统管理凭证界面,发现并没有多余的凭证,又一次冷水凉身。想到周一的快准狠,不能死心,重启电脑吧说不定就好了,结果呢再次洗澡。

剃度皈依之我是谁

再后来我又把git卸载了,卸的干干净净,把常用的几个config统统删掉,注册表清理干净,项目隐藏的“.git”————删!凡是和git有关的统统剃干净。来一次美丽的重生,直接装到C盘。希望又来了,结果再次push的时候,却不提示填账号密码,并且显示remote仓库地址失败,多次尝试就是不提示账号密码,就只显示remote仓库地址失败,于是咬牙切齿,把本地的、全局、系统的config再次解剖了一遍,只差再次剃他们了。忽然我看到一个解决不显示账号密码的指令git config --system --unset credential.helper,迅雷不及眼耳执行啊,kao,又说找不到c盘git目录的config文件。但是我来到c盘里git目下确实有config文件啊,于是又问度娘狗爹,说是属性git文件夹设置管理员再执行,结果没用,哎主问题没找到又来个此问题,屋漏偏逢连夜雨。

惊喜过后仍不自知

后来想C盘属于系统级别的,自己作为开发者以开发为主,平时也很少去动系统,但是知道系统盘有很多系统权限限制,尤其是ProgramFiles或(x86),后来果断把git最外层的系统级别的文件夹授予访问权限(其实额外新建一个文件夹装进去也是可以的)。接着执行上边的指令,哇,竟然可以提示输入账号了,哇,竟然也提示输入密码了。草,又来了个fatal: Authentication failed,又报身份验证问题,这明显和原来如出一辙,我是不是被团队踢了,哎,雨一直下。

剖腹or破釜沉舟

冥思苦想,回忆这两天自己的经历,把之前自己学的统统用了一遍,敲git命令敲到恶心(我已经不再相信任何git操作工具了,只相信最原始的命令),没少洗澡,只剩下等着周一上班剖腹吧,但是后来想到期初的401和22还是不能瞑目。周一终于到了,灰头丧气的找到运维给自己新装的系统加域,一边嘀咕着加完域我就找个介错人(领导)帮忙执行剖腹。域加完了,内心很平静,然而肌肉反应促使我闭着眼把命令又敲了一下————奇迹,他竟然好了!百思不得其姐啊,本着程序员刨不倒墙根儿不死心的决心,私下询问和观察发现从周一早上来身边有好多打伞的,哈哈。坑爹运维,为了提高安全性把好多软件、网址都禁了,包括上传文件的大小和下载文件的速度都限制了,我的电脑之前为了不想受他们的控制偷偷脱缰了,所以无法回到家园的怀抱。

总结

以上是自己亲身经历的一次git偶发性事故,浪费了很多精力,当然也思考了很多(都差点切腹了),记一次里程吧。所以啊,国有国法家有家规,想要在某个环境中生存就要去适应这个环境,不然耽搁的都是自己的生命。


http://www.ppmy.cn/news/709551.html

相关文章

springboot 2.6.6接入prometheus

springboot是2.6.6版本&#xff0c;刚开始用的是simpleclient客户端 <dependency><groupId>io.prometheus</groupId><artifactId>simpleclient</artifactId><version>0.16.0</version> </dependency>接入后一直报AbstractEnd…

用C语言实现维特比算法

维特比算法是一种动态规划算法&#xff0c;用于求解隐马尔可夫模型&#xff08;Hidden Markov Model, HMM&#xff09;中的最优路径。下面是一个简单的使用C语言实现的维特比算法示例&#xff1a; #include <stdio.h>#define STATES 3 // 隐状态的数量 #define OBS…

s8 android10,三星S8和Note 8不会获得Android 10升级

3月2日&#xff0c;根据SamMobile报道&#xff0c;三星GalaxyS8以及GalaxyNote8确认将不会获得Android10的官方升级包。一般来说&#xff0c;三星会针对旗下智能手机提供两次系统大幅升级的机会&#xff0c;三星GalaxyS8以及GalaxyNote8已经从Android7.0Nougat升级到Android8Or…

三星s8是否支持html,三星S8+对于PD兼容性的测试

在去年的三星NOTE7身上&#xff0c;三星第一次开始尝试PD充电协议&#xff0c;峰值功率可以达到24W&#xff0c;当时在论坛也搞起不小的风波&#xff0c;还专门搞了几场沙龙来一起探讨。现在新的旗舰又出现了&#xff0c;那就是三星的S8&#xff0c;他们对PD协议的支持怎么样呢…

三星s8是否支持html,三星Galaxy S8支持什么视频格式

三星Galaxy S8支持什么视频格式 三星Galaxy S8支持MPEG4&#xff0c;H.264/AVC&#xff0c;H.263/3GP&#xff0c;RealVideo等视频格式。 关于三星Galaxy S8支持什么视频格式的疑问&#xff0c;下面将做详细的解答。三星Galaxy S8基于Android7.0深度定制的UI&#xff0c;在主界…

s8韩版+android8,三星Galaxy S8韩版官方安卓9固件rom刷机包:G950NKSU3DSE2

三星Galaxy S8韩版手机SM-G950N在5月19日发布了最新的官方安卓9.0的系统包,这个最新的9.0的系统也是多件套形式的rom刷机包,也是采用线刷刷机的方式来进行刷入的,这个官方的线刷包也是完整版本的rom包,可以下载下来进行系统升级更新用,还可以进行救砖用的。 三星G950N官方…

Proxyman 替换js

在真机排查问题时&#xff0c;js不能格式化&#xff0c;导致没法看问题出在那一行&#xff0c;此时可以用这个方法替换js。 方法&#xff1a; 安装proxyman后&#xff0c;以iOS设备为例&#xff0c;菜单-证书-在iOS上安装证书 电脑、真机连接同一个网络&#xff0c;配置代理&…

ESP32(MicroPython) 对socket通信的几项测试

MicroPython有socket通信功能&#xff0c;但实测得出仅适用于字符串收发&#xff0c;不适合对设备进行控制。以下是测试的具体情况。 ESP32上直接使用例程&#xff0c;要填写wifi名称再运行。实际使用时不能上电启动&#xff0c;原因不明确。 #导入Pin模块 from machine impo…