2

我已经建立了一个远程目录并在其中初始化了 .git。

我可以推送到这个 repo,但我需要它将项目拉到目录中以模仿我本地 repo 的结构。

这是我需要运行接收后挂钩的地方吗?如何从目录中的本地 .git 中提取项目文件?

谢谢你的帮助。

4

2 回答 2

0

.git/hooks在被调用的中创建一个钩子post-receive。该文件应包含以下内容...

#!/bin/sh
GIT_WORK_TREE=/path/to/where/you/want/working/files git checkout -f

我在试图让它与一个不是的 git repo 一起工作时遇到了一些问题--baregit init --bare在设置时使用,然后将工作目录放在其他地方)

例子:

mkdir yourbarerepo.git
cd yourbarerepo.git
git init --bare
cd hooks
touch post-receive
nano post-recieve
  #paste in contents above
  #make sure the path where you want the working files to go is already created
于 2013-10-21T16:36:28.103 回答
0

使用 git push 可以让您将 git 存储库中的更新推送到不同的远程。

当您推送到远程时,您所做的就是将更改发送到 git 存储库。如果您希望更改目录结构,则需要以某种方式检查最新版本的代码。

您可以使用接收后挂钩来执行此操作。您需要快进远程分支。请注意,在发布接收挂钩完成之前,客户端不会断开连接。

这是您要查找的内容的快速概述:http: //toroid.org/ams/git-website-howto

请参阅此 SO 帖子:Git Post-Receive Hook for Website Staging

这个网站似乎也很有帮助: http: //githooks.com/

于 2013-10-19T21:30:55.217 回答