浏览网站后生活的Git推
问题描述:
我今天开始学习Git和我被困在一两件事上。
当我将本地生产存储库推送到远程临时存储库时,我希望立即能够实时查看我新推入的文件。当我尝试在远程存储库(通过FTP客户端)查找我的文件时,找不到它们。
我是否需要执行一些高级Git魔术才能实现此目标(挂钩?)?这种情况的最佳做法是什么?
再一次,我是Git的新手,并没有完全理解这个概念。也许值得注意的是,我使用Webfaction Git application作为远程存储库。
编辑:我看到this topic SO,我知道如何创建一个post-commit钩子,但我不知道应该在shell脚本中放什么。
答
首先,你不想使用post-commit钩子 - 这是一个客户端钩子。你想要的服务器端钩子将被接收或更新(取决于你是否使用分支机构)。
请参见:https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks
在你挂机脚本,你应该CHDIR到服务器的根目录,并运行一个git拉。此外,在脚本的顶部,请确保包含
unset GIT_DIR
否则git会在您尝试拉动时自行混淆。
答
假设你创建一个
后提交
后收到BASH的机器上或更新挂钩,尝试这样的事情:
#!/bin/bash
cd /your/git/repository/directory
git checkout -f
...
一对夫妇的注意事项:
- 有关正在发生的事情的信息。推送到远程存储库时,git不会自动检出新代码。所以,提交后的钩子需要检查分支上的最新代码。
-
您可能需要告诉服务器上的git存储库允许您推送到检出分支。在该服务器上的git回购运行此命令应该做的伎俩:
git config receive.denycurrentbranch false