这些命令究竟在做什么:
ssh serveradmin%mt-example.com@serveradmin@mt-example.com
cd domains/git.mt-example.com/html/mt-example.git
git --bare update-server-info
cd hooks
mv post-update.sample post-update
chmod a+x post-update
我不确定为什么在git --bar
命令之后他们有更新-server-info
那个'hooks'文件夹里发生了什么?
更新
取自:http://kb.mediatemple.net/questions/1594/Using+Git
我基本上在终止服务器时创建Git存储库。我还需要进入CD挂钩等吗?
答案 0 :(得分:2)
设置gitosis或类似的东西。
ssh serveradmin%mt-example.com@serveradmin@mt-example.com
以用户serveradmin%mt-example.com@serveradmin
身份登录mt-example.com。
cd domains/git.mt-example.com/html/mt-example.git
将自己置于git存储库中。
git --bare update-server-info
生成运行哑服务器所需的一些文件。 --bare是一个通用的git选项,用于声明您不会在此克隆中进行结帐。
cd hooks
mv post-update.sample post-update
chmod a+x post-update
启用服务器配置中通常使用的更新后挂钩,方法是将其从无效的示例名称重命名为git查找的名称,并使其可执行。
答案 1 :(得分:1)
该命令序列安装更新后的挂钩。默认情况下,git会放置一个post-update.sample
文件,但会在其上添加.sample
扩展名,因为不是每个人都希望以这种方式运行它。在git识别之前,您必须将其重命名为post-update
。 chmod
行为更新后挂钩添加执行权限,这是运行它所必需的。默认的更新后挂钩只在存储库上运行git update-server-info
。由于他们还希望您手动运行该命令,我的猜测是整个序列旨在补偿他们假设您提交到存储库的方式;这就是git update-server-info
的作用 - 它修复了应该创建/更新的缺失和过时的引用和包,但不是因为使用了异常的更新机制。
一般来说,如果有人建议这样做,我会调查并确保它真的有必要;标准的git安装和正常使用不需要这一步。
修改强>
是的,这是必要的。他们让你通过http提交提交并通过ssh推送它们。这些协议都不能支持git需要完成的额外内容,因此需要git update-server-info
来解决此问题。
另外......我不能说我推荐Grid Server。它实际得到的价格非常昂贵。
答案 2 :(得分:0)
git update-server-info
有own man page。同样,githooks有一个man page。 --bare
不是命令,而是一个似乎不存在的命令修饰符。如果您告诉我们您从哪里获得这些说明可能会有所帮助。
答案 3 :(得分:0)
hooks
目录包含挂钩。挂钩是在发生特定事件时运行的脚本。例如,推送到存储库,提交等等。