作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
假设作为网站构建过程的一部分,我将一个 git 项目复制到一个 web 可访问的目录并删除 .git 目录。现在,几天后,在我在公共(public) Web 目录之前进行了几次提交之后,有什么简单的方法可以确定当前正在提供哪个版本的/index.html?
# /var/www (public web dir):
/index.html
# Git repository:
HEAD:/index.html
HEAD~1:/index.html
HEAD~2:/index.html
.
. <-- /var/www/index.html matches in here somewhere.
.
HEAD~N:/index.html
我唯一能想到的就是编写一个脚本来检查 git 中文件的每个版本并检查每个版本,但根据我对 git 的有限经验,我发现通常有一些规范的方法来完成任何事情我梦想的 git 任务。
最佳答案
使用 git-describe 是个好主意。此外,您可能会考虑使用 git-archive 生成 tarball,而不是克隆 git 存储库然后删除 .git 目录。保留存档并使用 git-get-commit-tar-id 查找提交。要回答您的实际问题,请使用 git-hash-object 获取相关文件的 blob,然后查看此 Which commit has this blob? 的答案
关于git - 如何将文件与 git commit 匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4869455/
我是一名优秀的程序员,十分优秀!