相关疑难解决方法(0)

git从常规哈希中获取短哈希

我有一个常规的长SHA-1哈希字符串.我想获得最短的明确的SHA-1哈希字符串版本.也就是说,我将通过使用得到的git log -1 --pretty=format:%h,假设长哈希指的是最后一次提交.

git github

40
推荐指数
2
解决办法
3万
查看次数

Git如何创建唯一的提交哈希值,主要是前几个字符?

我发现很难围绕Git如何创建完全独特的哈希,即使在前4个字符中也不允许相同的哈希.我只能使用前四个字符在Git Bash中调用提交.是否在算法中明确决定第一个字符是"超" - 唯一且不会与其他类似的哈希冲突,或者算法是否以相同的方式生成哈希的每个部分?

git algorithm hash git-hash

19
推荐指数
2
解决办法
9912
查看次数

如何获得github工作流程的短sha?

我正在 GitHub 中创建一个工作流,它创建并使用一个 docker 图像。因此,我使用此 docker 映像的全局环境变量启动了我的工作流文件,该环境变量对我的工作流中的所有作业都可见:

name: continuous integration
on:
  push:
    branches:
      - '**'

env:
  IMAGE: docker.pkg.github.com/${{ github.repository }}/jactor-persistence:${{ github.sha }}
Run Code Online (Sandbox Code Playgroud)

我想${{ github.sha }}用head commit的short sha替换,和下面命令的结果一样git rev-parse --short HEAD

这可能吗?

git docker github-actions

17
推荐指数
4
解决办法
1万
查看次数

Azure Devops 中是否有 $(SourceVersion) 的 7 位简短版本?

我正在尝试将我们的构建名称设置为...

$(BuildDefinitionName)_$(versionMajor).$(versionMinor).$(versionPatch)+$(SourceBranchName).$(SourceVersion) 例如 OurBigLibraryCI_1.2.3+master.10bbc577

但是我找不到任何包含提交哈希的“短”(7 位)版本的预定义变量。$(SourceVersion)保存完整的 SHA-1 哈希值。

如何在基于 yaml 的管道中缩短它?

yaml azure-devops

16
推荐指数
3
解决办法
5459
查看次数

使用gitpython获取提交的简短说明

长SHA可以得到如下:

repo = git.Repo(search_parent_directories=True)
sha = repo.head.object.hexsha
Run Code Online (Sandbox Code Playgroud)

短的怎么样?(简称SHA由回购的规模决定,所以它不应该像sha[:7])

python git gitpython

14
推荐指数
3
解决办法
5995
查看次数

如何获取Git内部版本号并将其嵌入文件中?

我想介绍从Git中的版本中获取的版本控制常量.我知道如何做到这一点 - 在svn中以一种非常强硬的方式 -

有关如何使用Git执行此操作的任何想法?

embed git version

12
推荐指数
2
解决办法
2万
查看次数

如何查询postgres的UUID

我想使用UUID作为标识符,提供前8位数字以确定它是否存在于数据库中.

通常我可以毫无问题地做到这一点:

select * from TABLE where id = 'e99aec55-9e32-4c84-aed2-4a0251584941'::uuid

但这给了我错误:

select * from TABLE where id LIKE 'e99aec55%@'::uuid

错误:

ERROR:  invalid input syntax for uuid: "e99aec55%@"
LINE 1: select * from TABLE where id LIKE 'e99aec55...
                                              ^
Query failed
PostgreSQL said: invalid input syntax for uuid: "e99aec55%@"
Run Code Online (Sandbox Code Playgroud)

有没有办法在postgresql中查询UUID类型的前n位数?

postgresql activerecord ruby-on-rails

11
推荐指数
1
解决办法
6977
查看次数

在我的仓库中,最长的哈希前缀必须要多长时间才能防止任何重叠?

--abbrev-commit标志可以与git log和一起使用,git rev-list以显示部分前缀,而不是提交对象的完整40个字符的SHA-1哈希值.根据Pro Git的书,

它默认使用七个字符,但如果有必要使它们更长,以保持SHA-1明确[...]

另外,短SHA的长度至少为4个字符.仍然根据Pro Git的书,

通常,八到十个字符足以在项目中独一无二.

例如,Linux内核是一个相当大的项目,具有超过450k的提交和360万个对象,没有两个对象的SHA-1重叠超过前11个字符.

由于防止提交对象的所有前缀哈希值之间的任何重叠所需的最长前缀的长度(11,在Linux内核的情况下)是回购邮件大小的粗略指示,我想以编程方式确定相应的数量.我自己的本地存储库.我怎样才能做到这一点?

git sha1 linux-kernel git-log git-rev-list

10
推荐指数
2
解决办法
1174
查看次数

git rev-parse --短头

以下命令的作用是什么?:

git rev-parse --short HEAD
Run Code Online (Sandbox Code Playgroud)

答案应包括:

  1. 一个简短而中肯的答案,解释了这个命令的整体作用
  2. rev解析的解释
  3. --short 的解释
  4. HEAD 的解释

git

4
推荐指数
1
解决办法
9852
查看次数

两个git commit具有相同的`abbrev-commit`的机会是什么

两个git commit具有相同的机会是什么 abbrev-commit

我看到git history默认显示git abbrev-commit是为了简化和美观。但是,两个相同的东西abbrev-commit出现在一个git repo中的机会是什么?

git

3
推荐指数
2
解决办法
68
查看次数

是否存在两个 git commit id 相同的情况(在两个不同的项目中)?

我正在开发一个新版本的git-stats工具来根据 Git 提交、作者等制作一些图表。

在当前版本中,它接受相同的提交 ID,对项目名称进行命名:

{
   "some-project-url" { "hash1": "date", ... }
   "some-project-url-fork" { "hash1": "date", ..., "commit-in-fork-id": "date" }
}
Run Code Online (Sandbox Code Playgroud)

我想删除存储项目 url 的要求,这意味着没有相同的哈希值。

现在我在想这是否是一个好的举动。

当导入多个项目并且每个提交都存储一次时,有两个相同 id 的概率是多少?

实际上,在现实生活中,什么时候会碰巧有两个相同的id(在两个不同的项目中)?

git

2
推荐指数
1
解决办法
2153
查看次数