如何将'GIT_WORK_TREE'设置为计算机中的特定驱动程序

时间:2016-05-27 03:49:49

标签: git setup-deployment

我正在尝试使用Git hook在FTP中部署mt项目。

顺便说一句,我使用'CYGWIN'来构建。

这是我的环境和设置。

远程FTP

  

C:\ cygwin64 \ test_ftp \

远程Cygwin

  

C:\ cygwin64 \

远程根

  

C:\ cygwin64 \家\管理员\

的git /钩/后接收

#!/bin/sh

DEPLOY_DIR=~/../../test_ftp
echo "Start deploying..."
GIT_WORK_TREE=$DEPLOY_DIR git checkout -f
echo "Deployment is completed."

工作正常。

“git push”将触发“post-receive”并在“C:\ cygwin64 \ test_ftp \”中部署文件。

现在我想将“test_ftp”的路径更改为“C:\ test_ftp \”,
我尝试设置“DEPLOY_DIR =〜/../../../ test_ftp”并运行“git push”。

部署任务中出错:

  

remote:fatal:此操作必须在工作树中运行

有没有办法将git_WORK_TREE的路径设置为cygwin?

1 个答案:

答案 0 :(得分:1)

我后来找到了答案。

  1. 编辑文件" C:\ ctgwin64 \ etc \ passwd"。
      

    替换" / home / Administrator"到" / cygdrive / c"。

  2. 编辑文件" C:\ ctgwin64 \ etc \ sshd_config"。
      

    设置" StrictModes no"
      设置" AuthorizedKeysFile / path / to / your / authorized_keys"

  3. 重新启动" CYGWIN sshd"服务。
  4. 尝试在客户端推送一些东西。
  5. 它有效!!

    现在我可以使用密钥登录,触发" post-receive"像往常一样在" C:\ test_ftp"。

    中部署文件