【发布时间】:2013-04-28 04:57:00
【问题描述】:
这可能更像是一个技术问题:
我正在使用 git 进行版本控制,并使用 rsync 将 PHP CMS 的文件发送到测试或生产站点。现在我想使用一个防呆的自动化系统来跟踪当前部署的提交,我在考虑这个:
设置一个 git 钩子来添加/更新带有最新标签和提交哈希的文本文件。然后我可以轻松查找提交。
我的问题是在预提交时脚本不知道提交哈希。是否有任何直接的方法来完成这项工作(或达到相同目的的另一种方法)?
提前感谢您的意见!
【问题讨论】:
-
我想你想在部署端处理这个问题。编写一个脚本来进行部署,然后让该脚本在复制每个文件之前将当前哈希复制到每个文件的某个位置。
-
有趣的是,在发布问题后,我完全明白了这个想法。尽管如此,让 git 处理版本文件会更好 - 这样处理部署的方式就无关紧要了。
-
如果你尝试将版本信息存储在 git 版本控制下的文件中,更新和提交,你将获得一个新的提交 SHA1。 :) 你必须在 git 之外做。
-
不,这在逻辑上是不可能的,您的解决方案也行不通。将“当前”提交 ID 放入文件中必然会更改当前提交。您可以(充其量)将 previous 提交 ID 放入文件中,但这将不太有用。你真的,真的不应该尝试用 Git 来管理这个。
标签: git deployment pre-commit