11. “ In many ways you can just see git as a filesystem — it’s
content addressable, and it has a notion of versioning,
but I really really designed it coming at the problem from
the viewpoint of a filesystem person (hey, kernels is
what I do), and I actually have absolutely zero
interest in creating a traditional SCM system.”
- Linus -
16. The Ruby on Rails Git repository download, which
includes the full history of the project – every version
of every file, weighs in at around 13M, which is not
even twice the size of a single checkout of the project
(~9M). The Subversion server repository for the
same project is about 115M.
26. Git Data Model (first commit)
base_include.rb
base directory
lib directory
my_plugin.rb
init.rb
master (default)
Mutable
Immutable
Reference :
27. Git Data Model (second commit)
● modify the lib/base/base_include.rb file
● commit
● tag this commit
28. Git Data Model (second commit)
base_include.rb #v1
base directory
lib directory
1st
commit 2nd
commit
lib directory
base directory
base_include.rb #v2
init.rb
my_plugin.rb
Mutable
Immutable
Reference :
master (default)
29. Git Data Model (third commit)
● modify the init.rb file
● commit
30. Git Data Model (third commit)
base_include.rb #v1
base Directory
lib Directory
1st
Commit
2nd
Commit
Init.rb #v1
my_plugin.rb
base_include.rb #v2
base Directory
lib Directory
3rd
Commit
init.rb #v2
master(default)
Mutable
Immutable
Reference :
31. Git Data Model (third commit)
So, to keep all the information and history on the three
versions of this tree, Git stores 16 immutable, signed,
compressed objects.
32. Branching and Merging
Creating a branch is nothing more than just writing 40
characters to a file in .git/refs/heads directory.
38. Infact, all of the contents of this slide are taken from Git Internals by Scott Chacon 😛
References
1. Git Internals ( Scott Chacon )
2. Pro Git ( Scott Chacon and Ben Straub)
3. Git and Github Social Coding Advanced Javazone (Talk by Tim Berglund
@tlberglund )
4. Advanced Git for developers Laracon EU 2015 ( Talk by Lorna Jane Mitchell )