2

我正在尝试使用单独的工作树创建 Git 存储库。我完全按照本教程进行操作:http: //caiustheory.com/automatically-deploying-website-from-remote-git-repository

我可以从我的本地仓库提交并推送到我的远程。我指定为工作树的文件路径不包含我推送的文件。

我在想文件路径可能不正确(我在 MediaTemple GS 上),但是当我推送时 Git 不会抛出任何错误。

这是我遥控器的配置:

[core]
repositoryformatversion = 0
filemode = true
bare = false
worktree = /home/xxxxx/domains/xxxxxx.com/html/b

[receive]
denycurrentbranch = ignore

我的 post-receive 和 post-update 钩子都是 777 并且都包含这个:

#!/bin/sh
git checkout -f

我真的很感激提供的任何帮助。

谢谢,

- 缺口

4

1 回答 1

1

你会想要这样的东西:

https://github.com/richo/git_template/blob/master/hooks/post-receive

或者更简洁地说:

#!/bin/sh

# Kludge to read the last ref
while read old new ref; do
real_sha=$new
done

GIT_WORK_TREE=$PWD/../ git checkout -qf $real_sha

基本上,新的 ref 被传入post-receive标准输入,所以你需要手动读取它们。

你的钩子正在做的是强行检查现有的参考。

于 2012-07-22T04:01:04.547 回答