There is loads of documentation and posts on Git out there so this is more of a note to self as I keep forgetting the steps to setting up a remote repository and doing an initial ‘push’.
So, firstly setup the remote repository:
ssh git@example.com mkdir my_project.git cd my_project.git git init --bare git-update-server-info # If planning to serve via HTTP exit
On local machine:
cd my_project git init git add * git commit -m "My initial commit message" git remote add origin git@example.com:my_project.git git push origin master
Done!
Team members can now clone and track the remote repository using the following:
git clone git@example.com:my_project.git cd my_project git-track origin
Note: the ‘git-track’ command is a bash function we use to save manually editing the .git/config file (add the following to your ~/.bash_profile file as outlined by darkliquid):
function parse_git_branch {
git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/\1/'
}
function git-track {
CURRENT_BRANCH=$(parse_git_branch)
git-config branch.$CURRENT_BRANCH.remote $1
git-config branch.$CURRENT_BRANCH.merge refs/heads/$CURRENT_BRANCH
}
h4. Bonus
To have your terminal prompt display what branch you are currently on in green, add the following to your ~/.bash_profile:
function parse_git_branch_and_add_brackets {
git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/\ \[\1\]/'
}
PS1="\h:\W \u\[\033[0;32m\]\$(parse_git_branch_and_add_brackets) \[\033[0m\]\$ "