Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Git中,如何确定当前的修订版是什么?_Git - Fatal编程技术网

在Git中,如何确定当前的修订版是什么?

在Git中,如何确定当前的修订版是什么?,git,Git,我只想知道我当前的版本号是什么。有很多方法git log-1是最简单和最常见的,我认为这只提供了修订版 git rev-parse HEAD “版本号”是什么意思?使用版本号标记提交,然后使用 $ git describe --tags 识别当前磁头w.r.t.任何标签。如果您的意思是想知道当前头的哈希值,您可能需要: $ git rev-parse HEAD 或者对于简短的修订哈希: $ git rev-parse --short HEAD git log -1 --pretty=fo

我只想知道我当前的版本号是什么。

有很多方法
git log-1
是最简单和最常见的,我认为这只提供了修订版

git rev-parse HEAD
“版本号”是什么意思?使用版本号标记提交,然后使用

$ git describe --tags
识别当前磁头w.r.t.任何标签。如果您的意思是想知道当前头的哈希值,您可能需要:

$ git rev-parse HEAD
或者对于简短的修订哈希:

$ git rev-parse --short HEAD
git log -1 --pretty=format:%h
git log -1 --pretty=format:%H
这通常足以做到:

$ cat .git/refs/heads/${branch-main}

但这是不可靠的,因为ref可能会被打包。

这会给出散列的前几个数字,并且它们足够唯一,可以用作版本号

git rev-parse --short HEAD

以下内容将适用于之前推出的任何修订版,而不仅仅是HEAD

对于缩写修订哈希:

$ git rev-parse --short HEAD
git log -1 --pretty=format:%h
git log -1 --pretty=format:%H
对于长修订哈希:

$ git rev-parse --short HEAD
git log -1 --pretty=format:%h
git log -1 --pretty=format:%H

如何使文件成为以前的版本?可能您需要git checkout HEAD^--FileName顺便说一句,这不仅仅是当前版本,因此您必须解析它(因此,不是最好的/最简单的/常见的解决方案,imho)引用可能打包在
中。git/packed Refs
,因此,您可能应该避免直接访问
.git/refs/
。只要使用
git-rev-parse-master
(或者
git-rev-parse-refs/heads/master
,如果需要完全明确的话)。
git-descripe
就是我想要的。非常感谢。我在寻找获取当前版本的方法以便在进一步的git命令中使用它时发现了这个问题。但是当我读到答案时,我发现:“哦,等等,我不需要它,我实际上可以使用
HEAD
。”我认为这是最好的答案,因为它不依赖于实现。William的回答“cat.git/refs/heads/master”将提供相同的值,但不能保证如果实现发生变化,它在将来会起作用。同意,这是最好的答案。只要简单地提到
--short
选项,它就完美了。