Git 自救指南:这些坑你都跳得出吗?

GitHub宕机自救维护指南 GitHub宕机自救指南:利用Git分布式特性,在本地继续开发(commit/add/branch);通过临时Git托管(GitLab等)、Bundle打包或Patch补丁实现团队协作;恢复后谨慎同步(先fetch比较差异,优先使用--force-with-lease);建议建立镜像仓库和备份机制预防未来中断。核心原则:本地.git目录是完整仓库,保持冷静按步骤操作。 阅读详情

点击上方“芋道源码”,选择“设为星标”

做积极的人,而不是积极废人!

源码精品专栏

 

来源:扣钉CODING

  • 01

  • 02

  • 03

  • 04

  • 05

  • 06

  • 07


Git 虽然因其分布式管理方式,不完全依赖网络,良好的分支策略,容易部署等优点,已经成为最受欢迎的源代码管理方式。但是一分耕耘一分收获,如果想更好地掌握 git,需要付出大量的学习成本。即使在各种 GUI 的加持下,也不得不说 git 真的很难,在 V2EX 上也常有如何正确使用 git 的讨论,同时在 Stackoverflow 上超过 10w+ 的 git 相关问题也证明了 git 的复杂性。再加上 git 的官方文档也一直存在着 “先有鸡还是先有蛋” 的问题,虽然文档非常全面,但如果你不知道你遇到的问题叫什么,那么根本就无从查起。

作为国内领先的研发管理解决方案供应商,CODING 一直致力于在国内普及 git 的使用,为软件研发提供更高效率。本文节选自 Katie Sylor-Miller 在日常工作中所遇到过的让他很头疼的 git 相关问题,并整理了相应的应对措施,在这里分享给正在学习如何使用 git 的同学们。当然这些应对措施并不是唯一的,可能你会有其他更好的应对方法,这也恰恰是 git 这套版本控制系统强大的地方。

原文标题:《Oh shit,git!》

原文地址:https://ohshitgit.com/

01

/ 我刚刚好像搞错了一个很重要的东西,

但是 git 有个神奇的时间机器能帮我复原!/

reflog 是一个非常实用的命令,你可以使用这个命令去找回无意间删除的代码,或者去掉一些刚刚添加的却把仓库里的代码弄坏的内容。同时也可以拯救一下失败的 merge,或者仅仅是为了回退到之前的版本。

02

/ 我 commit 完才想起来

还有一处小地方要修改!/

当我 commit 完然后跑测试的时候,经常突然发现忘了在等于号前面加空格。虽然可以把修改过的代码再重新 commit 一下,然后 rebase -i 将两次揉在一起,不过上面的方法会比较快。

03

/ 我要改一下上一个 commit message!/

当你们组对 commit message 有格式要求时,或者当你忘了中英文间要加空格,这个命令能救你狗命。

04

/ 我不小心把本应在新分支上的内容

commit 到 master 了! /

注意:这个指令必须在错误的 commit 后直接执行,如果你已经试了其他的方式,你可能就需要用 git reset HEAD@{number} 来代替 HEAD~ 了。

05

/ 我不小心 commit 到错误的分支上了! /

也有很多人推荐了 cherry-pick 的解决方案,所以选哪个就看你心情了。

06

/ 我执行了 diff 但是啥也没出现 /

Git 不会给通过 add 加入到 staging 区域里面的文件做 diff ,除非你加了 --staged 的标签,别怀疑了这是一个 feature 不是一个 bug,当然对于第一次碰到这个问题的人来说还是有些不好理解的。

07

/ Git 从入门到放弃 /

为了维护最后的尊严 XD

不知道你在使用 git 中有没有遇到过各种令人掀桌的问题呢?

或者作为 git 资深用户有什么可以分享的小技巧呢?

欢迎大家在留言区跟我们互动~



欢迎加入我的知识星球,一起探讨架构,交流源码。加入方式,长按下方二维码噢:

已在知识星球更新源码解析如下:

最近更新《芋道 SpringBoot 2.X 入门》系列,已经 20 余篇,覆盖了 MyBatis、Redis、MongoDB、ES、分库分表、读写分离、SpringMVC、Webflux、权限、WebSocket、Dubbo、RabbitMQ、RocketMQ、Kafka、性能测试等等内容。

提供近 3W 行代码的 SpringBoot 示例,以及超 4W 行代码的电商微服务项目。

获取方式:点“在看”,关注公众号并回复 666 领取,更多内容陆续奉上。

连续相位调制通信调制方法的载波同步和定时同步研究及MATLAB仿真 本文将探讨CPM调制方法中的载波同步和定时同步问题,并提供MATLAB仿真源代码。本文讨论了连续相位调制通信中的载波同步和定时同步问题,并提供了相应的MATLAB仿真源代码。通过适当的载波同步和定时同步方法,可以实现对CPM信号的准确解调。希望本文对您理解连续相位调制通信调制方法的载波同步和定时同步问题有所帮助,同时也为您提供了一些MATLAB仿真实现的思路和示例代码。在CPM系统中,载波同步的主要任务是估计接收信号的载波频率偏移和相位偏移。在CPM系统中,常用的定时同步方法是基于自相关函数的峰值检测。 阅读详情

相关推荐

计算机考研408复试题汇总

TCP连接是全双工的,两端都可以先挥手 其中一端完成数据发送任务后,发送一个FIN包来终止,另一端针对这个FIN包回复确认包, 直到另一端也发送请求终止数据包FIN,另一端作出确认应答,并且还要发送一个ACK=1表示确认号有效,如果没有收到这个就可以进行重传.

ca1m4n的博客 1万+

git 没有执行 git add . 直接执行git commit的解决方法

1、 git log 得到commit的哈希值,比如 f093b6ed512f761a346e2e5c0f00230e448c217c 2、执行git reset --hard f093b6ed512f761a346e2e5c0f00230e448c217c 这样就回到上次提交的状态了

Run_Forrest_Run的博客 2508

用LangFuse+LangChain打造可观测的AI应用:从埋点到成本监控实战

本文详细介绍了如何将开源可观测性平台LangFuse深度集成到基于LangChain构建的AI应用中,特别是电商客服机器人场景。通过从基础SDK集成、提示词管理到成本监控的完整实战,帮助开发者实现对LLM应用内部工作流的清晰追踪、问题排查与费用分析,从而打造稳定、可控的生产级AI应用。

dapp9builder的博客 711

git如果没有add然后一直commit是否没有用_【绝无废话】5分钟学会使用Git

Git是现今最流行的分布式版本控制系统,网上自然也有很多教大家如何使用Git的教程,但本文则提炼了最常用的命令,既然Git是为了方便大家的工具,那么提高效率才是重点,那些一年都用不到一次的命令,需要的时候上网查就好了。废话不多说,直接开始:你一定会用到的命令下面这些命令是使用过程中一定会用到的,需要记住:将当前目录变成git可管理的仓库: git init这是使用git的第一步添加文件:git a...

weixin_36057373的博客 2186

科研党必看!Zotero+Claude3插件实战:如何用AI高效阅读文献(附详细配置步骤)

本文详细介绍了如何通过Zotero与Claude3插件的深度整合,实现科研文献的高效阅读与管理。从环境配置到核心功能实战,包括智能摘要生成、精准学术翻译和论文写作辅助等,帮助科研人员大幅提升工作效率。特别适合需要处理大量文献的研究者使用。

o0p1q2r3的博客 434

关于小样本学习综述论文的总结

对小样本学习综述的个人总结

qq_46176086的博客 5457

git:文件未先add直接commit,出现文件报错后,新增文件丢失问题,已解决

git:文件未先add直接commit,出现文件报错后,新增文件丢失问题,已解决

weixin_46543056的博客 1728

(2-4-01)目标检测与分割:地面提取(1)

请看下面的例子,生成了虚拟 LiDAR 点云数据,然后使用 DBSCAN 聚类方法进行 LiDAR 地面提取,并根据聚类结果可视化地面和非地面点云。首先生成虚拟 LiDAR 点云数据,然后基于设定的高程阈值进行地面提取,并通过 Open3D 可视化地面和非地面点云。地面提取是LiDAR(激光雷达)数据处理中的一个重要步骤,其目标是从点云数据中分离出地面点,即地面表面上的点。LiDAR点云数据通常包含地面点和非地面点(例如建筑物、树木等),地面提取的目标是从这些点中准确识别和提取地面点。

码农三叔 703

git常用命令

1、将内容写入暂存区,若为新增文件需要此操作。 git add . 2、将暂存区内容添加到本地仓库中。 git commit -m '第一次版本提交' git commit -am '第一次版本提交' //-a跳过add 3、上传远程代码并合并 git push 4、下载远程代码并合并 git pull 5、对本地的代码进行修改后,直接git pull会提示本地代码和gitee代码冲突,需要先commit本地代码,或者stash他们 解决方法分两种情况: (1)希望保留本地的修改,pu

qq_26544951的博客 305

PreScan快速入门到精通第三十九讲基于车道线识别传感器的车道保持辅助算法Demo讲解

车道保持辅助系统使用一个前置的摄像头,一般安装在车内后视镜附近,用来检测车辆前方的车道线,并监测车辆在其车道上的位置。在有电动助力转向EPS的车辆中,它轻轻地,但明显地反转向,以保持车辆在车道上。在简单车辆动力学的Simulink模型中,一个25%的油门开度常数被设定为输入,作为车辆行驶的纵向动力。首先是近似的角度α,它是传感器航向(=车辆航向)与右侧车道车道线的切线的近似角。一个配备了车道线传感器和简单动力学模型的车辆(MAZDA),将在没有任何规定轨迹的情况下跟随道路车道线行驶。3D浏览器中的多视图。

小明师兄的博客 1843

物流分拣YOLO实战:YOLO26 OBB+YOLOv8多尺度融合,不规则包裹分拣效率提升40%(附训练+部署代码)

在物流分拣的工业场景中,模型的检测精度、推理速度、部署友好性本次基于YOLO26 OBB+YOLOv8多尺度融合打造的物流分拣视觉检测方案,精准解决了工业场景中不规则包裹的旋转检测、多尺度包裹的漏检问题,最终实现分拣效率提升40%,检测准确率提升至95%以上,且模型在边缘设备上的推理帧率稳定35FPS+,完全适配物流分拣的工业落地需求。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 882

git:新建文件未先add直接commit,提交后,新增文件丢失问题

查看最近add 过的30个文件,可以根据自己大概变动的文件数设置相应的值。最后,手动还原,点进去每一个文件,有些可能是一些空文件,有一些正好是你丢失的文件,需要自己手动加回到正确的位置。例如第一个是 79dcf6cb091817f990c75cadd1a2de8816f19613。注:需要先创建空文件夹files,否则会报找不到files文件夹导致写入失败。然后多光标操作,每一行只留下id。,查看文件内容是否是丢失的。直接将内容写到文件中。

Venus 的博客 2127

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

git 放弃merge_Git 自救指南:这些坑你都跳得出吗?

Git 虽然因其分布式管理方式,不完全依赖网络,良好的分支策略,容易部署等优点,已经成为最受欢迎的源代码管理方式。但是一分耕耘一分收获,如果想更好地掌握 git,需要付出大量的学习成本。即使在各种 GUI 的加持下,也不得不说 git 真的很难,在 V2EX 上也常有如何正确使用 git 的讨论,同时在 Stackoverflow 上超过 10w+ 的 git 相关问题也证明了 git 的复杂性。...

weixin_39919165的博客 716

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

git diff 比较文件_Git 自救指南:这些坑你都跳得出吗?

点击蓝色“程序猿DD”关注我哟加个“星标”,不忘签到哦转载自公众号:扣钉CODING关注我,回复口令获取可获取独家整理的学习资料:-001:领取《Spring Boot基础教程》-002:领取《Spring Cloud基础教程》-华山:领取最新阿里巴巴《Java开发规范1.5》Git 虽然因其分布式管理方式,不完全依赖网络,良好的分支策略,容易部署等优点,已经成为最受欢迎的源代...

weixin_39616477的博客 309

diff git 代码实现_Git 自救指南:这些坑你都跳得出吗?

每天都会写架构师文章,Java技术文章天天更新,感兴趣的点个关注再走呗!Git 虽然因其分布式管理方式,不完全依赖网络,良好的分支策略,容易部署等优点,已经成为最受欢迎的源代码管理方式。但是一分耕耘一分收获,如果想更好地掌握 git,需要付出大量的学习成本。即使在各种 GUI 的加持下,也不得不说 git 真的很难,在 V2EX 上也常有如何正确使用 git 的讨论,同时在 Stackoverfl...

weixin_39756273的博客 93

搞笑git 程序员改bug_Git 自救指南:这些坑你都跳得出吗?

阅读本文大概需要 2 分钟。菜单栏中添加我微信,私聊【加群】拉你入微信学习交流群Git 虽然因其分布式管理方式,不完全依赖网络,良好的分支策略,容易部署等优点,已经成为最受欢迎的源代码管理方式。但是一分耕耘一分收获,如果想更好地掌握 git,需要付出大量的学习成本。即使在各种 GUI 的加持下,也不得不说 git 真的很难,在 V2EX 上也常有如何正确使用 git 的讨论,同时在 Stackov...

weixin_29366307的博客 160

git如果没有add然后一直commit是否没有用_Git 自救指南:这些坑你都跳得出吗?...

阅读本文大概需要 2 分钟。菜单栏中添加我微信,私聊【加群】拉你入微信学习交流群Git 虽然因其分布式管理方式,不完全依赖网络,良好的分支策略,容易部署等优点,已经成为最受欢迎的源代码管理方式。但是一分耕耘一分收获,如果想更好地掌握 git,需要付出大量的学习成本。即使在各种 GUI 的加持下,也不得不说 git 真的很难,在 V2EX 上也常有如何正确使用 git 的讨论,同时在 Stackov...

weixin_36338946的博客 1842

git自救指南

关于git的学习先推荐一个网站 git学习操作网站 网站是用js做的,很有意思。 git和github git和github的安装和使用我就不说了,百度什么的都可学到 git 初始化 这里盗图一张 git init//git初始化 git remote add origin https://github.com/XXX/XXXXX.git //添加远程仓库的地址 我使用的是visual st...

qq_42188312的博客 293

Git小白必看:merge_head错误完全自救指南

简单来说,这个错误提示的意思是:你之前进行了一个合并(merge)操作,但这个合并过程还没有完成。Git在合并过程中会生成一个叫MERGE_HEAD的文件来记录合并的状态,如果合并被中断或者没有完成,这个文件就会一直存在,导致Git认为合并还在进行中。合并时出现冲突,但你没有解决冲突就直接退出了在合并过程中电脑突然关机或者Git意外终止你手动取消了一个正在进行中的合并操作。

GoldenleafLynx28的博客 989

Git 自救指南

Git 虽然因其分布式管理方式,不完全依赖网络,良好的分支策略,容易部署等优点,已经成为最受欢迎的源代码管理方式。但是一分耕耘一分收获,如果想更好地掌握 git,需要付出大量的学习成本。即使在各种 GUI 的加持下,也不得不说 git 真的很难,在 V2EX 上也常有如何正确使用 git 的讨论,同时在 Stackoverflow 上超过 10w+ 的 git 相关问题也证明了 git 的复杂性。...

程序猿玄微子 221
上一篇: 上古程序猿为何反对使用Redis?
下一篇: 面试常问!!TCP 的三次握手与四次挥手理解
公众号-芋道源码
博客等级 码龄10年 1634粉丝 377原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值