0

我正在尝试在我的共享主机帐户上创建一个通过 SSH 运行的 BASH shell 脚本,以自动化 git 网站控制系统,详见:

http://danielmiessler.com/study/git/#website.

到目前为止,我的 bash 脚本就在上面的文章之外:

cd ~/mydomains; mkdir $name.git;
cd ~/mydomains/$name.git; git init --bare; 
/bin/vi ~/domains/$name.git/hooks/post-update

前 2 行按预期工作。

当我添加第三行时,脚本似乎冻结了。在我的环境中,vi 的路径是 /bin/vi。

直接从文章中我希望执行以下操作:

vi /path/website.git/hooks/post-update

然后插入:

GIT_WORK_TREE=/path/htdocs git checkout -f

然后关闭文件。

谁能给我一些关于现在该怎么做的建议?

4

2 回答 2

3

为什么您尝试在脚本中使用 vi 只是为了将行添加到文件中?问题是 vi 是交互式的,但您正在寻找如何自动化它;-)

你应该使用

echo "GIT_WORK_TREE=/path/htdocs git checkout -f" >> ~/domains/$name.git/hooks/post-update
于 2013-03-22T14:12:57.007 回答
1

我相信您需要在 git 使用钩子脚本之前使其可执行。

chmod +x /path/website.git/hooks/post-update

之后,在 push 之后,应该执行脚本。

于 2013-03-22T14:15:03.850 回答