2016-12-30 141 views
2

我有一个后收到钩,当我推分支部署我的应用程序在webroot的。 这是我的脚本:Git的部署:在删除文件时,按文件中删除

#!/bin/bash 
while read oldrev newrev ref 
do 
    if [[ $ref =~ .*/master$ ]]; 
    then 
     echo "Master ref received. Deploying master branch..." 
     git --work-tree=/var/www/mywebroot --git-dir=/home/myuser/myrepo checkout -f master 
    else 
     echo "Ref $ref successfully received. Doing nothing." 
    fi 
done 

的问题是,当我把所有提交该删除任何文件,这些文件被删除了根目录不会被删除。

+0

如果我没有弄错,你想拉?结帐只能交换分支并更新HEAD。 Git pull会拉动更新。 –

回答

1

你可以只在git checkout行之后添加(使用git clean):

git -work-tree=/var/www/mywebroot --git-dir=/home/myuser/myrepo clean -fd 

,将删除未跟踪文件和文件夹。