Git workflow – Setting up a build process

It is a best practice to push to a bare repo: see “concept of bare shared repository in git” and all about “bare” repos — what, why, and how to fix a non-bare push.

Which means on your server, you need to:

  • create a Git repo (you already did)
  • clone that repo a bare repo (git clone --bare yourProjectFolder yourProjectFolder.git)
    (the .git extention is a naming convention for bare repo root folder)
  • push to that bare repo instead:
    Go to your local repo, and type:

    git remote set-url origin /url/repo/repo/yourProjectFolder.git
    
  • add a hook in the bare repo (on the server, yourProjectFolder.git/hooks/post-receive), in which you

    • change directory (to your non-bare repo folder yourProjectFolder)
    • unset GIT_DIR
    • git pull ../yourProjectFolder.git

See more at “Remote nodejs server deployment with forever“.

Leave a Comment