GIT IN INDUSTRYCompanies and projects currently using Git•Google•Android•Facebook•Microsoft•Netflix•Linux•Ruby on Rails•Gnome•KDE•Eclipse•X.org40
GIT BASICSSnapshots, not changes•A picture of what all your files look like at that moment•If a file has not changed, store a referenceNearly every operation is local•Browsing the history of project•See changes between two versions41
WHY GIT IS BETTERGit tracks the content rather than the filesBranches are lightweight, and merging is a simple processAllows for a more streamlined offline development processRepositories are smaller in size and are stored in a single .gitdirectoryAllows for advanced staging operations, and the use of stashing when working through troublesome sections42
WHAT ABOUT SVN?Linus TorvaldsSubversion has been the most pointless project ever started … Subversion used to say CVS done right: with that slogan there is nowhere you can go. There is no way to do CVS right … If you like using CVS, you should be in some kind of mental institution or somewhere else.43
GIT VS {CVS, SVN, …}Why you should care:•Many places use legacy systems that will cause problems in the future – be the change you believe in!Git is muchfaster than SVN:•Coded in C, which allows for a great amount of optimization•Accomplishes much of the logic client side, thereby reducing time needed for communication•Developed to work on the Linux kernel, so that large project manipulation is at the forefront of the benchmarks44
GIT VS {CVS, SVN, …}Speed benchmarks:Benchmarks performed by 45
GIT VS {CVS, SVN, …}Git is significantly smaller than SVN•All files are contained in a small decentralized .git file•In the case of Mozilla’s projects, a Git repository was 30 times smaller than an identical SVN repository•Entire Linux kernel with 5 years of versioning contained in a single 1 GB .git file•SVN carries two complete copies of each file, while Git maintains a simple and separate 100 bytes of data per file, noting changes and supporting operationsNice because you can (and do!) store the whole thing locally46
GIT VS {CVS, SVN, …}Git is more securethan SVN•All commits are uniquely hashed for both security and indexing purposes•Commits can be authenticated through numerous means•In the case of SSH commits, a key may be provided by both the client and server to guarantee authenticity and prevent against unauthorized access47
GIT VS {CVS, SVN, …}Git is decentralized:•Each user contains an individual repository and can check commits against itself, allowing for detailed local revisioning•Being decentralized allows for easy replication and deployment•In this case, SVN relies on a single centralized repository and is unusable without48
GIT VS {CVS, SVN, …}Git is flexible:•Due to it’s decentralized nature, git commits can be stored locally, or committed through HTTP, SSH, FTP, or even by Email•No need for a centralized repository•Developed as a command line utility, which allows a large amount of features to be built and customized on top of it49

You've reached the end of your free preview.
Want to read all 77 pages?
- Spring '17
- John P. Dickerson
- Revision control, Comparison of revision control software, Concurrent Versions System