sebacruz
5/18/2013 - 6:46 AM

Run in LOCAL terminal...

#!/bin/bash

# Replace this line with your real domain name
DOMAIN=mydomain.com

echo
echo "-= Transferring changes to $DOMAIN =-"
echo

# Clearing git env
unset GIT_DIR
unset GIT_WORK_TREE
cd ~/$DOMAIN
git pull

echo
echo "-= Done =-"
echo
# Replace any brackets with real values

# Before you start this, ensure that you have added shell (ssh) access for your hosted account (not just sftp/ftp).

# You may need to generate a new ssh key; if so, follow instructions to generate ssh key
ssh-keygen -t rsa

# Add to authorized keys on DREAMHOST
# For OSX:
cat ~/.ssh/id_rsa.pub | ssh [user]@[host] "mkdir ~/.ssh; cat >> ~/.ssh/authorized_keys"
# Else:
ssh-copy-id [user]@[host]
# Replace any brackets with real values

# Try to ssh in to DREAMHOST (ensure it no longer asks for a PW); you may want to restart Terminal
ssh [user]@[host]
cd ~
mkdir [mydomain_com].git
cd [mydomain_com].git
git init --bare
vi hooks/post-receive
# Enter the code from the "post-receive" file (in this gist); save + quit 
cd ..
git clone [mydomain_com].git [mydomain.com]
exit

# Add remote to git's list of remote repos
cd [some local git folder]
git remote add live ssh://[user]@[host]/~/[mydomain_com].git

# Push to production :)
git push live master