This is an old revision of the document!
git is a distributed version control system originally written by Linus Torvalds. The version control metadata is distributed, so every clone is a complete history of the source code. Compare this with centralized systems like SVN or CVS where, if the central repository burns down, everything is lost!
# aptitude install git-svn
This is where we will initially copy the SVN repository.
$ mkdir beca_lims_portal_temp $ cd beca_lims_portal_temp
$ git svn init https://172.26.17.2/svn/beca_lims_portal/trunk/ --no-metadata
mnorling = Martin Norling <firstname.lastname@example.org> aorth = Alan Orth <email@example.com> root = Alan Orth <firstname.lastname@example.org> akihara = Absolomon Kihara <email@example.com>
$ git config svn.authorsfile ~/svnauthors
$ git svn fetch
When doing a normal git clone it will take everything we want from the temporary repository, while leaving behind all the SVN cruft that was there to support the git-svn stuff.
$ cd .. $ git clone beca_lims_portal_temp beca_lims_portal
You should see all your authors mapped from the SVN repository:
$ cd beca_lims_portal $ git log
Specify a certain commit by giving the commit's checksum (or the abbreviated checksum):
git tag -a v0.1 8e11e65
git push doesn't send tags to the remote origin; you have to tell it to do it manually.
$ git push origin v0.1
Push all tags which are not already on the remote origin:
$ git push origin --tags
The editor is used when you have to enter a commit message.
[core] editor = vim
ui = auto
current = yellow reverse local = yellow remote = green
meta = yellow bold frag = magenta bold old = red bold new = green bold
added = yellow changed = green untracked = cyan</code>