Skip to content

Instantly share code, notes, and snippets.

@deoren
Forked from Integralist/remote-git.md
Created December 18, 2017 20:30
Show Gist options
  • Save deoren/5f13b671e66f72156d4ab420052ff328 to your computer and use it in GitHub Desktop.
Save deoren/5f13b671e66f72156d4ab420052ff328 to your computer and use it in GitHub Desktop.
Basic set-up of remote git repository on a standard server

Set-up remote git repository on a standard server

The first thing to do is to install Git on the remote server.

Once you do that the rest of the process is split into three sections:

  1. Server set-up
  2. Local set-up (push commits)
  3. Server (pull commits)

Server set-up

  • ssh -pxxxx username@xxx.xxx.xxx.xxx (this is you connecting to your remote server)
  • cd ../ (this gets you to the 'absolute root' of the server)
  • cd www/..../ (navigate to the directory one level above your website directory - e.g. your website directory being where you would upload your HTML files etc)

Note: if (for example) your web directory is httpdocs then move up one level from there.

The following example assumes httpdocs is your web directory...

  • rm -rf httpdocs (remove the web directory - you'll recreate it again in a minute)
  • mkdir httpdocs && cd httpdocs (create new web directory folder and move inside it)
  • git init (initiate new git repo)
  • cd ../ (jump back up a directory level)

The following three commands are the black magic for getting a remote git repo setup:

  • git clone --bare httpdocs httpdocs.git
  • mv httpdocs httpdocs.backup
  • git clone httpdocs.git

Local set-up (push commits)

  • cd ~/Desktop/Sites/myWebsite
  • git init
  • git add *
  • git commit -m 'Start of new project'
  • git remote add origin ssh://username@xxx.xxx.xxx.xxx:xxxx/www/.../httpdocs.git
  • git push origin master

Server (pull commits)

  • cd ../
  • cd www/..../httpdocs/
  • git fetch
  • git diff origin/master
  • git merge origin/master
@deoren
Copy link
Author

deoren commented Jan 23, 2018

As of the time this Gist entry was created, GitHub does not support notifications for comments for mentions to Gist entries (see isaacs/github#21 for details). Please contact me via Twitter or file an issue in the deoren/leave-feedback repo (created for that very purpose) if you wish to receive a response for your feedback. Thank you in advance!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment