- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
以下命令的作用是什么?
git rev-parse --short HEAD
答案应该包括:
最佳答案
git rev-parse --short
都是一种方式:
应用于 HEAD,它返回当前 checkout 提交的 SHA1 的简短版本(不一定是分支,when the HEAd is detached)
您可以在 commit e3ae4a8613151c93ffce78c674ac91c1ee34eef6, Aug. 2009, Git v1.6.5-rc0 中的 git/git 代码库中看到它的首次使用。 .
The substring expansion notation is a bashism that we have not so faradopted.
Use 'git rev-parse --short' instead, as this also handles the case where the unique abbreviation is longer than 7 characters.
所以代替:
${sub1sha1:0:7}
用途:
sub1sha1_short=$(cd clone3/sub1 && git rev-parse --short HEAD)
$sub1sha1_short
您会发现它在 commit e8f21ca, June 2013, Git v1.8.4-rc0 中使用过, 对于 bash 提示:
bash prompt: print unique detached HEAD abbreviated object name
When describing a detached HEAD according to the
$GIT_PS1_DESCRIBE
environment variable fails,__git_ps1()
runs 'cut -c1-7 .git/HEAD
' to show the 7 hexdigits abbreviated commit object name in the prompt.
Obviously, this neither respectscore.abbrev
nor produces a unique object name.
Fix this by using '
git rev-parse --short HEAD
' instead and adjust the corresponding test to use non-standard number of hexdigits.
因为 --short
将计算 SHA 的最小长度是无歧义的,所以它应该是 git rev-parse 使用的最后一个选项。
见 commit e3e0b93, also June 2013, Git v1.8.4-rc0
bash prompt: combine 'git rev-parse' for detached head
When describing a detached HEAD according to the
$GIT_PS1_DESCRIBE
environment variable fails,__git_ps1()
now runs the '$(git rev-parse --short HEAD)
' command substitution to get the abbreviated detached HEAD commit object name.
This imposes the overhead of fork()ing a subshell and fork()+exec()ing agit
process.Avoid this overhead by combining this command substitution with the"main" '
git rev-parse
' execution for getting the path to the.git
directory & co.
This means that we'll look for the abbreviated commit object name even when it's not necessary, because we're on a branch or the detached HEAD can be described.
It doesn't matter, however, because once 'git rev-parse
' is up and running to fulfill all those other queries, the additional overhead of looking for the abbreviated commit object name is not measurable because it's lost in the noise.There is a caveat, however, when we are on an unborn branch, because in that case HEAD doesn't point to a valid commit, hence the query for the abbreviated commit object name fails.
Therefore, '--short HEAD
' must be the last options to 'git rev-parse
' in order to get all the other necessary information for the prompt even on an unborn branch.
Furthermore, in that case, and in that case only, 'git rev-parse
' doesn't output the last line containing the abbreviated commit object name, obviously, so we have to take care to only parse it if 'git rev-parse
' exited without any error.
关于git rev-parse --short HEAD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63224118/
我正在尝试使用 gulp-rev、gulp-rev-replace 和 gulp-rev-css-url 重写对我的版本图像文件的引用。 我已设法修改文件并将 list 与以下 gulp 代码合并:
与此问题类似:How do I replace the filenames listed in index.html with the output of gulp-rev? 我使用 gulp-use
git blame --ignore-revs-file显然是现代 Git 中存在的一个选项。 只有一个问题。它不起作用。 或者至少,它对我不起作用: 您可以将其添加到 shell 脚本中: mkdi
我想将我在 eclipse 中的项目从 SDK rev 15 移动到 rev 17,但现在我不能再运行简单的项目导入示例,这些示例在 rev 15 下没有问题。在 rev 15 下,我只是使用构建路径
使用 Three.js Rev 82,我的实验飞行模拟器应用程序显示了此显示(根据需要显示并支持对象拾取):- 当我将应用程序更改为使用 Three.js Rev 89 时,执行错误为零(令人满意),
背景 我正在使用 Yeoman webapp 来搭建我的前端。 在 gruntfile 中,他们使用 grunt-rev 和 grunt-usemin Grunt-rev 将“修改”我的 Assets
我在将 android SDK 工具 rev 19 更新到 rev 20 和 Android SDK Platform-tool rev 11 到 rev 12 时遇到问题。 我检查了 SDK 管理器
这是来自 pre-commit 的 .pre-commit-config.yaml . 它将 git 克隆 git 存储库的指定 rev。 我怎样才能忽略 rev 并始终 git clone 最新的?
我是 OCaml 的新手,并试图将 List.append 实现为一种学习练习。这就是我所拥有的: let rec append a b = match (List.rev a) with
这是我的矩阵: df <- data.frame(matrix(1:25,5)) X1 X2 X3 X4 X5 1 1 6 11 16 21 2 2 7 12 17 22 3
我有一个 say {a,b,c,d,...} 的列表,每个元素 a,b,c,d, ... 是 data.table但是,对于 data.table,我需要颠倒顺序我只想rev()除了第一列之外的所有内
我发现在gradle构建期间将git版本号添加到我的项目版本中是一个 super 聪明的主意,例如major.minor.commit。这是通过以下方式实现的 git rev-list --count
如果我这样做 git clone - 它完美无缺。 但如果之后我尝试使用 git pull它挂起(有时工作正常): git 客户端版本:2.6.3 git 服务器版本:2.1.4 输出: $ GIT_
gulp-rev-all 有问题。我有以下基本的 gulpfile: var gulp = require('gulp'), RevAll = require('gulp-rev-all'),
我试着写了一段代码来旋转文本文件中的每一行。例如,给定下一行: a b c 输出将是: c b a 此脚本仅获取一个参数作为参数 - 文本文件的名称。另外,我想这样做对额外的空间很重要。即,给定下一行
正在使用yeoman angular generator (1.4.x)的代码库进行工作. gulp-rev 正在被使用,即使对于相同的代码库,它每次都会生成一个新的文件(哈希)名称,我如何保留相同的
以下命令的作用是什么? git rev-parse --short HEAD 答案应该包括: 一个简短而中肯的答案,解释这个命令作为一个整体的作用 rev-parse的解释 --short 的解释 H
在寻找 git hook 示例时,我遇到了以下帖子:https://github.com/Movidone/git-hooks/blob/master/pre-receive我想了解以下命令: git
所以我知道这个问题已经被问了很多,但我没有找到任何合适的答案。我希望在我的提示中显示当前 git rev 的名称,但以一种漂亮的方式:如果我在一个分支上,我想要分支的名称;如果它不是分支,我希望在我的
根据 git name-rev doc , Finds symbolic names suitable for human digestion for revisions given in any f
我是一名优秀的程序员,十分优秀!