Mark Eschbach

Software Developer && System Analyst

Git

Git is a distributed revision control system utilizing treeish object to describe changes to a logical file system over time.

Converting a Subversion repository

Initial import

This will import most if not all of the history from Subversion. The following command will import the repository from Subversion into Git:

  1. git svn clone ${SUBVERSION_REPOSITORY_URL}
SUBVERSION_REPOSITORY_URL
The URL to use as the base of the Subversion repoistory.

Resuming import

It is a real bummer when your long import gets interrupted. You don't need to restart however, the following command will allow you to continue from the point of failure.

git svn fetch
Xref
git-svn
A great reference going into detail regarding Git Subversion
git-svn(1) Manual Page
Manual page for the Git SVN bridge.

Notes

Scripting method to get current revision
git rev-parse --short HEAD
Reviewing commit logs
git log --decorate --all --oneline --graph
Permentantly adding
To add this permenantly use: git config --global alias.slog "log --decorate --all --oneline --graph" This adds a new git subcommand called slog, instead of having to remember all the options.
Is this commit an ancestor of another commit-ish?
git merge-base --is-ancestor $ACESTOR_COMMIT $YOUNGER_COMMIT
Configuring Git sign all of your commits
  • gpg --list-keys # list your keys
  • git config commit.gpgSign true
  • git config user.signingKey {Your key} # replace last param with your key from line #1