git commit 前8位为啥不重复

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了git commit 前8位为啥不重复相关的知识,希望对你有一定的参考价值。

参考技术A

哈,我看见您这个问题挺有趣的,也没有深入了解,只是个人猜测

    在commit的信息可以看出,commit的版本是由a-z和0-9构成的

    那么一共有26+10=36个字符随机组成前8位

    出现的可能一共有:36^8,这个那么出现相同的一个字符串的可能为1/(36^8)

    上面这个概率几乎可以忽略不计,那么可能git里面有一个文件记录出现过的commit,每次生成都查询一遍,一遍是否已经存在,这样做就可以避免产生重复的commit

本回答被提问者采纳

使用 Vim 进行 git commit --amend [重复]

【中文标题】使用 Vim 进行 git commit --amend [重复]【英文标题】:Use Vim for git commit --amend [duplicate] 【发布时间】:2022-01-01 05:45:05 【问题描述】:

我使用的是 Windows 终端,当我运行 git commit --amend 时,会显示 Nano 编辑器。如何将其更改为使用 Vim? (对于 Git Bash,它使用 Vim。)

【问题讨论】:

【参考方案1】:

设置在你的.gitconfig:

[core]
        editor = 'vi'

也可以通过设置

git config --global core.editor vi

【讨论】:

以上是关于git commit 前8位为啥不重复的主要内容,如果未能解决你的问题,请参考以下文章

为啥java中生成32位随机ID永远不会重复?

SQLServer如何快速生成100万条不重复的随机8位数字

我想为 git commit 打开 vim,但是当我写 git commit 时总是打开 nano 编辑器。谢谢[重复]

为啥即使在配置之后 Git 也不允许我提交?

正则表达式不匹配,不知道为啥[重复]

为啥我在 C++ 中的类名前需要“c” [重复]