我已经设置了一个远程目录并在其中初始化了.git。
我可以推送到这个仓库但我需要它将项目拉入目录以模仿init我的本地仓库的结构。
这是我需要运行post-receive钩子的地方吗?如何从目录中的本地.git中提取项目文件?
感谢您的帮助。
答案 0 :(得分:0)
使用git push可以将git存储库中的更新推送到不同的遥控器。
当您推送到远程时,您所做的就是将更改发送到git存储库。如果您希望更改目录结构,则需要以某种方式检查最新版本的代码。
您可以使用post-receive挂钩来完成此操作。您需要快进远程分支。请注意,在post receive hook完成之后,客户端才会断开连接。
以下是您正在寻找的内容的简要概述:http://toroid.org/ams/git-website-howto
请参阅此SO帖子:Git Post-Receive Hook for Website Staging
此网站似乎也很有用:http://githooks.com/
答案 1 :(得分:0)
在名为.git/hooks
的{{1}}中创建一个钩子。该文件应包含以下内容......
post-receive
尝试使用不是#!/bin/sh
GIT_WORK_TREE=/path/to/where/you/want/working/files git checkout -f
的git仓库(设置时使用--bare
,然后将工作目录放在其他位置),我遇到了一些问题
示例:
git init --bare