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.
0) branch = local branch + remote branch
- every author should have a branch
- every branch formed or deleted so as to have a unique set of requirements
- merging happens by bottom up merges by the merge master if possible
branch spec / ref spec