使用git的一些指令还有内核报错问题-已解决

----目前我正在开发BlockCache,在目前就遇到了cache和磁盘不一致的问题,这些问题可能导致了内核的错误,我采用回档的方式来定位导致错误的更改。

----因为在开发过程中,需要更改不少地方,所以回档的代价是很高的,所以这里我第一次感受到git的魅力,这里记录一下。

----其实git对代码版本的控制和游戏里面存档的原理是相似的。当你使用commit指令的时候,就相当于你对代码进行了一次存档,就像单机游戏存档一样,如果你玩过那种很难一遍过的单机游戏,你一定希望在打到一个很难打到的点时进行存档:
image

----如果你得到了一个稳定的版本,你可以使用commit进行存档:

----但是如果出现这种情况怎么办:

----这就好像你把游戏打崩了,但是又不舍得删掉这个存档一样,你可以选择先存档:


----然后再回档,这样你就回到稳定版本了:


----当然如果你想再品味一下答辩代码,只需要转换一下分支就行:

注意!!一定要新建一个分支再进行reset --hard操作!!!
否则答辩代码可能面临永久删除的风险!!!

-----------------------------------内核问题分割线----------------------------------------------
----我在开发过程中发现内核总是panic,我找不出原因,打算回档看看哪里出现了问题

----但是回档到稳定版还是panic,于是我回档到最一开始的版本(就是我一点修改都没有做的版本):

----但是内核还是报错:

----这是怎么回事??
附上报错信息:
[ DEBUG ] (src/net/net_core.rs:63) DHCP try round: 0

[ INFO ] (src/net/net_core.rs:90) Successfully allocated ip by Dhcpv4! Ip:10.0.2.15/24

[ DEBUG ] (src/init/initial_kthread.rs:48) initial kernel thread done.

Panic occurred: PanicInfo { payload: Any { … }, message: Some(create ctl pipe failed), location: Location { file: “src/systemctl/listener/mod.rs”, line: 97, col: 17 }, can_unwind: true }

重新在另一个文件夹克隆代码试试?

我在想是不是那个磁盘文件被我写坏了,有没有方法可以删掉磁盘文件啥的?还是说一定要新建文件夹 :upside_down_face:

删掉bin/disk-x86_64.img

1 个赞

破案了,问题已解决 :innocent: :innocent:

1 个赞