git add成功后忘记commit的文件丢了?

  本文目标:开发人员,在了解git fsck命令用法的条件下,进行git add成功但由于误操作导致丢失的文件找回,达到找回丢失文件的程度。

1 痛点

  开发过程中,分支太多(基线分支、开发分支、功能分支、…),在切换、合并等过程中,出现本地add完成,但忘记commit的文件丢失现象。

  本文以切换导致该现象为例,介绍找回方法。

  先进行场景复现。

  在develop分支,新增文件“Test.java”。

新增文件
  文件内容为:

public class Test {
	public String a;
}

  使用git add命令提交至缓存区。

add文件完成
  此时忘记git commit,直接强制切换至feature分支,并再次切换回develop分支,发现文件没了。

force切换分支文件消失

2 解决方案

  使用git fsck命令找回丢失文件。

git fsck --lost-found

丢失文件找回
  命令执行后,在隐藏文件夹“.git”中寻找丢失内容。(相对路径为“git\lost-found\other”)

文件相对路径
  查看内容:

文件内容
  文件名称不容易看出来内容,当目录下文件数量过多时,可以根据关键字使用Notepad++搜索整个目录,可以更快的找到对应文件。

3 总结/练习

  本文介绍了使用git fsck命令,找回git add成功但没有commit文件的方法。

  可以尝试在自己的项目中,使用“2 解决方案”章节的方法,进行文件找回。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值