Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
git checkout master
git merge newfeature
git merge bugfix
git push server master
ssh xxx@librapost.ru "cd /xxx/xxx/librapost && git merge master"
#!/bin/bash
txtrst='\e[0m' # Text Reset
txtred='\e[0;31m' # Red
txtgrn='\e[0;32m' # Green
WORK_TREE='/some/path/on/dev/server/'
while read oldrev newrev ref
do
case $ref in
refs/heads/dev )
echo "========================================"
git --work-tree=$WORK_TREE checkout -f dev
if [ $? -eq 0 ]; then
echo -e "${txtgrn}DEVELOPER SERVER successfully updated${txtrst}"
else
echo -e "${txtred}Failed to checkout DEVELOPER SERVER!${txtrst}"
fi
;;
refs/heads/master )
echo "========================================"
git push gsl master:master
if [ $? -eq 0 ]; then
echo -e "${txtgrn}PRODUCTION SERVER successfully updated${txtrst}"
else
echo -e "${txtred}Failed to push to PRODUCTION SERVER!${txtrst}"
fi
;;
* )
echo "NO UPDATES FOR $1"
;;
esac
done
echo "========================================"git --bare init --shared
cd ..
sudo chown -R www-data:www-data site_hub.git
sudo chmod -R g+wX,o= site_hub.git
sudo find site_hub.git -type d -exec chmod g+s '{}' ';'
git update-server-info cd /home/okertanov/public_html/html-templates.espectrale.com/public || exit
#unset GIT_DIR
#unset GIT_WORK_TREE
env -i git pull origin #or whatever
env -i git update-server-info
env -i git submodule init
env -i git submodule update
Git и публикация сайта