by moodyharsh

git is the opposite of svn
-it is fundamentally different
-the terms used by git and svn are common which makes it difficult

  • workflows are different
  • more workflow options are possible in git and using git as an svn repository is going to be problematic

permission vs consensus
top-down vs bottum-up

Git is not a version control system. It is a file system.
Git provides versioning just like ZFS provides snapshots.

Git stores two files but enough information to recreate the previous file at demand.
For a given directory of source code, git does the same to each and every file including the directory itself.

recommended workflow
0) branch = local branch + remote branch

  1. every author should have a branch
  2. every branch formed or deleted so as to have a unique set of requirements
  3. merging happens by bottom up merges by the merge master if possible

mkdir foo
git init
git clone
git add
git rm
git fetch
git stash
git prune
git diff
git checkout
git cherry-pick
git merge
git rebase
git status
git commit
git branch

git patch-set

branch spec / ref spec