Git-丢失的 commit 是真的消失了吗?


title: Git-丢失的 commit 是真的消失了吗?
date: 2018-03-14 10:45:01
tags:

当然没有,它只是被挂了起来

丢失的 commit 变成了 dangling commit

所谓“丢失的 commit”其实并没有消失,而是成为了一个 dangling commit(悬挂的提交?有点奇怪的翻译,意思是没有任何分支指针或头指针指向它,于是被悬挂了起来),等待 Git 回收。

而关于 Git 回收,Git 虽然会不定时地自动运行称为 “git auto gc” 的命令,但是这个命令一般什么都不干。如果有 7,000 个左右的松散对象或是 50 个以上的 packfile,Git 才会真正调用 gc 命令。

所以,“丢失的 commit”只是在我们的分支历史中消失了。

我们可以通过下面的命令,查看项目中存在的 dangling commits:

//查看“丢失的”对象们
git fsck --lost-found

从结果截图中, 可以看到 dangling commit 的类型说明,以及该提交的 SHA1 值。

但是,我们并不能从长达 40 位的 SHA1 值中看出这是个什么提交,所以需要通过 git show <commit>来查看提交的内容

不过不是你要的提交,你就挨个多试试,如果刚好是你要恢复的提交,那么,恭喜你,拿到后面的 SHA1 值,就可以根据自己的需求操作了, checkout ,merge,rebase,reset 等命令供君挑选!

git fsck,初次见面

Git 的命令真的很丰富,平常使用的只是其中一部分,如果不是为了查这个问题,还真的不知道有 git fsck

官方文档对它的介绍是验证数据库中对象的连通性和有效性。

在这里插入图片描述

这个命令有很多的查询方法,各自对应不用的查询范围,我看了一下,需要对 Git 的原理有点了解的基础,这里我不就深究了,有兴趣的娃子自己去看 git-fsck 官方文档

写在后面

上篇博客,我在结尾留下了我的疑问:

丢失的 commit 真的丢了吗?没丢的话,在哪里?

这篇博客,就是为解释这一系列疑问而写出来的,希望能帮助到有同样疑惑的小伙伴们,另学识浅薄,如有错误之后,还望指正。

see you next blog~

欢迎订阅我的Git系列文章


欢迎关注个人微信公众号「浅浅同学的开发笔记」,最新的博客,好玩的事情,都会在上面分享,期待与你共同成长。

在这里插入图片描述

  • 5
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: git-commit-lint-vscode是一个用于在VSCode编辑器中进行Git提交消息规范检查的工具。在软件开发过程中,良好的提交消息规范可以提高团队协作效率,方便代码版本追踪和维护。 该工具的主要功能是对Git提交消息进行自动检查,以确保它们符合预定义的规范。它会根据事先定义好的规则,对提交消息进行语法、格式和内容等方面的检查,并给出相应的错误或警告提示。这有助于保持项目提交消息的一致性和准确性。 git-commit-lint-vscode可以在VSCode的编辑器中直接集成,使开发者可以在提交代码时即时检查提交消息,避免出现格式错误、无意义或不清晰的消息。这样做不但可以提高团队协作效率,还可以减少代码维护中由于提交消息造成的困惑和不必要的麻烦。 使用这个工具,可以定义自己项目所需的提交消息规范,如消息长度、格式、命名约定等等。开发者只需要按照规范进行提交消息的编写,工具就会自动进行检查和提示。这样做可以使开发者更加专注于代码本身,而不必担心提交消息的错误或不规范。 总而言之,git-commit-lint-vscode是一个方便的工具,可以帮助开发者在VSCode编辑器中进行Git提交消息规范的检查。通过提供实时的错误和警告提示,它有助于保持项目提交消息的一致性和准确性,提高团队协作效率,减少代码维护中的问题。 ### 回答2: git-commit-lint-vscode是一个用于在VSCode中进行Git提交信息规范检查的插件。 Git提交信息是开发过程中非常重要的一部分,它不仅包含了开发者的改动内容,还包含了一些必要的描述和其他信息。一个良好的Git提交信息规范能够提高代码的可读性,方便团队协作和代码维护。 git-commit-lint-vscode插件是为了帮助开发者在VSCode中更好地遵守Git提交信息规范而设计的。它会通过检查你的提交信息,并根据预定义的规则给予提示和建议。 这个插件可以配置一些常见的规则,比如提交信息的格式、长度、语法等。当你在提交代码时,它会在VSCode的编辑器中给出相应的错误或警告提示,帮助你及时发现并修复不规范的提交信息。 除了简单的格式和语法检查,git-commit-lint-vscode还支持自定义规则的配置。你可以根据团队的开发规范,添加一些额外的规则来检查特定的提交信息要求。 使用git-commit-lint-vscode插件可以帮助团队统一和规范Git提交信息的格式,避免不规范的提交信息对代码维护和合作造成不必要的困扰。同时,它也能帮助开发者养成良好的提交信息习惯,提高自己的编码质量。 综上所述,git-commit-lint-vscode是一个实用的插件,它通过在VSCode中检查和提醒开发者规范Git提交信息,提升团队的协作效率和代码质量。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值