【发布时间】:2018-07-06 15:46:55
【问题描述】:
我想在用户推送到 GitHub 之前或在用户从 GitHub 克隆之后获取存储库的当前 git 提交 ID。然后应该将此提交 ID 写入一个文件,该文件也在存储库中。是否可以使用任何 Git 钩子来做到这一点?
我有一个显示当前 git id 的 c++ 函数。如果用户下载(.zip)我的存储库,它应该显示他们下载时存在 GitHub 的提交 ID。如果他们克隆 repo,稍后提交,git id 应该会更新。有什么办法吗?
【问题讨论】:
-
我不清楚你为什么要这个。听起来您要求 git 挂钩在 git 存储库中写入一个文件,该文件记录该存储库的 git 提交哈希。你试过
git log吗? -
顺便说一句,你为什么要这样做?由于 git 是一种基于分支的方法,因此这可能会产生一些您没有预料到的副作用。例如,这个包含提交 ID 的文件是否会为所有用户命名?您是否意识到,如果您捕获当前提交并推送到远程,那么在合并到您的主分支后,这将不是 HEAD 的提交 ID?
-
Do you realize that if you capture the current commit and push to remote that that will not be the commit id of HEAD after your merge to your main branch?是的,必须相同。 id 应该更新。那么有什么方法可以实现这一点吗?有一个始终存储当前 git commit id 的文件吗? -
不妨问问如何运球。有什么意义,在这里?这有什么用?
-
我无法弄清楚我应该在问题中添加什么。究竟缺少什么?需要哪些额外信息?