Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save chumaumenze/f9b90d6d6f3f15f46fa3372dc45c9d75 to your computer and use it in GitHub Desktop.
Save chumaumenze/f9b90d6d6f3f15f46fa3372dc45c9d75 to your computer and use it in GitHub Desktop.
Setup Automatic Deployment with Git Post-Receive Hook
#server side:
#server live directory: /var/www/domain.com
#server repository: /var/repo/site.git
1. clone project from git/bitbucket into /var/www/domain.com or init the folder by "git init".
2. go to /var/repo/site.git and init the folder as git bare
$git init --bare
--bare means that our folder will have no source files, just the version control.
3. still in site.git folder go to hooks.
$cd hooks
$cat > post-receive # When you execute this command, you will have a blank line indicating that everything you type will be saved to this file
type:
#!/bin/sh
git --work-tree=/var/www/domain.com --git-dir=/var/repo/site.git checkout -f
4. $chmod +x post-receive
$exit
#Local workspace:
1. go to your "git" project folder.
2. $git remote add live ssh://[email protected]/var/repo/site.git
3. after any changes. remrember "push" to both live and master
$git push
then
$git push live
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment