Create a git repo with a central GIT server. #
Step 1: Connect to server, create a new, empty directory there and initialize an empty repository. #
This directory is mere a structure that contains all the elements to manage your files.
ssh server.com
mkdir myrepo.git
cd myrepo.git
git --bare init
exit
It will end up looking like this:
_[myrepo]>tree
.
├── branches
├── config
├── description
├── HEAD
├── hooks
│ ├── applypatch-msg.sample
│ ├── commit-msg.sample
│ ├── fsmonitor-watchman.sample
│ ├── post-update.sample
│ ├── pre-applypatch.sample
│ ├── pre-commit.sample
│ ├── pre-merge-commit.sample
│ ├── prepare-commit-msg.sample
│ ├── pre-push.sample
│ ├── pre-rebase.sample
│ ├── pre-receive.sample
│ ├── push-to-checkout.sample
│ └── update.sample
├── info
│ └── exclude
├── objects
│ ├── info
│ └── pack
└── refs
├── heads
└── tags
Thats it.
Step 2: Local machine. #
cd myrepo
git init
Step 3: Local machine. #
- Add the remote repository as origin repo to to your existing local git repo.
- Get the local master branch to track the remote branch.
- Then push to the server:
git remote add origin user@server.com:/~/myrepo.git
git push --set-upstream origin master
You can now also clone the server repo elswhere by the usual git clone
command
git clone user@server.com:/~/myrepo.git
Further pushs and pulls can be done simply by call git push and git pull (origin master is not needed).
git add .
git commit -m "update message"
git push
It wll probably ask for user and password for the remote server if you are not using SSH keys to communicate with the server.
There are probably more elegant ways of doing it. Let me know what you think. Drop me a line .