Git is a version control system that is better than SVN for several reasons:
1. Git allows for cheap and easy local branching so developers can work independently without affecting others.
2. With Git, the entire codebase history is downloaded when cloning a repository, enabling highly responsive local operations and distribution of work.
3. Common Git workflows like the Git Flow process support integration manager and dictator/lieutenant models for code collaboration on GitHub repositories.
3. http:// Why Git Is Better Than X .com/
Features Workflow
● Cheap Local ● Subversion-Style
Branching Workflow
● Everything is Local ● Integration
● Git is Fast Manager Workflow
● Git is Small ● Dictator and
● The Staging Area Lieutenants
● Distributed Workflow
● GitHub
● Easy to Learn
5. Workflow
Add source code files so that Git tracks them
in the local repository.
Commit your changed files to the local repo.
Push to upload your commits to GitHub.
Pull to get commits from GitHub.
7. commit
add push
pull fetch
etc...
git help <command>
Your friendly neighbourhood documentation.
8. svn checkout <url> <dir> git clone <url> <dir>
... but wait, it's better!
Full revision history
No single point of failure
Fast transfer speed
9. svn update git pull <remote> <branch>
... but wait, it's better!
Merge branches
Each developer has their own remote
Hack together without affecting others
10. svn add git add --all
... but wait, it's better!
Just kidding. It's pretty much the same.
But add also used to mark merge conflicts
as resolved.
11. svn commit git push <remote> <branch>
... but wait, it's better!
As with pull, you can push to anywhere.
13. remote
≈ SVN repository URL
A remote is a bookmark of another Git
repository.
It represents a Git repo by its URL.
The default remote is called "origin".
The origin remote has no special meaning
and is merely convention.
14. refspec
≈ SVN branch name
A refspec is the name of a branch or tag, or
the SHA-1 of a particular commit.
The default refspec is called "master".
The master refspec has no special meaning
and is merely convention.
15. commit
≈ SVN revision/commit
Changes to files are identified by a SHA-1
hash.
Can usually be referenced by the first few
characters.
Allows Git to do fast comparisions, error
checking, compact storage.
17. git log
commit 4f94c3059851fedce2d92f19af98d67ec8c2be69
Author: Thomas Gorissen <thomas@adzcentral.com>
Date: Wed Nov 2 09:23:41 2011 +0000
Changed date interpretation to adapt server change
git-svn-id: https://subversion.assembla.com/svn/adz/uinew@4672
3c9e7dd8-c376-4c09-bcd8-96044d63829d
18. git log --oneline
4f94c30 Changed date interpretation to adapt server change
501753c Fixing creative click tracking test
cce1c63 Changing maximum bid to bid-price
23aad1c Override the aggregated status with only the primary status.
4b2f730 Increased version number to 1.5.5
84aed45 Show the filter ID when a name is missing
5ae3f2f not overriding backup picture with old one on upload
38af93b removing now unnecessary code to reference backupID
7dac9c0 Redirecting user to #Home if he doesn't accept terms
02afc23 Added ISO date parsing
b30d440 Changed sessionTimeout to be understood as seconds
a57adf0 Not querying for rejected creatives on select popup in CI
bc4c93a Recursively apply the active selection on search results
7ad1401 Highlighting error fields on credit limit change
19. git log --grep=refactoring
3b9c48e Preparations for Tree control refactoring
d3f32f9 Code cleanup/ refactoring
b7d58d0 Minor code refactoring
83a2235 Minor refactoring for improved trickery
ba83e28 Massive refactoring of the filters control. Now supports
disabling entire menu sections on-the-fly.
98e9232 Lots of refactoring to show Pending Approvals as a widget
anywhere
20. git log --author=seb
23aad1c Override the aggregated status with only the primary status.
6a9f696 Fixed showing the platform support dagger symbol on search
results
84aed45 Show the filter ID when a name is missing
78a9948 Asynchronous rendering with a loading indicator for audience
template loading/saving
bc4c93a Recursively apply the active selection on search results
edb35be Fixed recursive selection to activate all parents
cbe9542 Removed dead code :)