Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git推送和部署后,自动生成的文件将被删除_Git_Deployment - Fatal编程技术网

Git推送和部署后,自动生成的文件将被删除

Git推送和部署后,自动生成的文件将被删除,git,deployment,Git,Deployment,我们在/var/www/位置有一个带有WordPress项目的PHP服务器。整个/www/根目录在Git中受源代码控制。所以当我推送新代码时,它会立即部署,我们会得到新的代码 在某种程度上,我们已经在服务器上使用了图像构建工具,该工具可以从一些数据生成图像,我们将这些数据放在一些包中,比如 /var/www/images/*.png 因此,我成功地在该位置生成图像但当我添加新更改并再次部署时,git会从包中删除所有这些png文件 我很想把它添加到git ignore中,但这无助于解决问题 如果

我们在
/var/www/
位置有一个带有WordPress项目的PHP服务器。整个
/www/
根目录在Git中受源代码控制。所以当我推送新代码时,它会立即部署,我们会得到新的代码

在某种程度上,我们已经在服务器上使用了图像构建工具,该工具可以从一些数据生成图像,我们将这些数据放在一些包中,比如

/var/www/images/*.png
因此,我成功地在该位置生成图像但当我添加新更改并再次部署时,git会从包中删除所有这些
png
文件

我很想把它添加到git ignore中,但这无助于解决问题

如果我在那个位置生成图像,我会得到图像,但当我添加新的更改并再次部署时,git会从包中删除所有png文件

If取决于部署的方式()。
,这是一个

git --work-tree=/path/to/deploy checkout -f -- .
问题在于:

切换分支时,即使索引或工作树与
头不同,也要继续操作这用于丢弃本地更改

一种解决办法是:

  • 确保在
    /path/to/deploy
  • 在git签出-f
这意味着post-receive钩子看起来像:

git --work-tree=/path/to/deploy checkout -f -- .
ln -s /path/to/pngs /path/to/deploy/png 

整个www/package正在部署。。。如果我设法将图像设置在/www/侧,则无法从web服务器访问这些图像。。。如果你对这个方向有任何想法,让我来告诉你know@AmitRana符号链接将恢复访问。它将使这些图像在服务器上显示,就好像它们在
www/
@AmitRana中一样,但至少在使用符号链接选项时,签出-f仅清除该符号链接,而不是图像。恢复符号链接很容易。恢复已擦除的ouy图像不是必需的。