git session 1
TRANSCRIPT
+
Source Code Management
+What will we learn ?
Any thing that lies between managing our code efficiently
locally and on the server
+Why Git ?
+Why Git ?
Because we use it here
in Cygnis
+Learning Strategy
We will start from very basic
Use a practical approach
More focus on the problems that we face on daily bases
Depending on your response we can delve into the underlying
architecture of git, how git manages/saves/manipulates our
repository/changes/commits.
+Prerequisites :
You need to be a CYGNET
+Goal of these sessions
Current Practice:
MAGIC
+Goal of these sessions
We will try to learn that magic stuff
Magic
+Version Control System
+Version Control System
Management of changes in a computer programs, website,
and other information(more widely called a project in our
environment, we are more comfortable with the project).
Definition
+Version Control System
Revision Control == Version Control == Source Control
More common term = Version Control System = VCS
Common Terms
+Version Control System
Versioning of your files
Revert file/files back to a previous state
Revert the entire project back to a previous state,
Compare changes overtime,
See who last modified something that might be causing
problem
and more.
Capabilities
+Version Control System
Word processing applications/ Spread sheets e.g MS Office,
Google Doc
e.g:
+Version Control System
VCS saved differences as patches, i.e in the form of differences
between two files.
How do they manage changes
+Two Types of VCS’Central
+Two Types of VCS’Distributed
+Central vs Distributed
Single central copy of your project on the server
Programmer commit a change to this central repository
You need to be connected to the server to push your changes
Other programmers working on the same project can see the
change committed
Central
+Central vs Distributed
Common operations such as commits, viewing history and
reverting changes are fast because there is no need to
communicate with a central server.
Each working copy effectively functions as a remote backup of
the codebase and of its change-history, providing inherent
protection against data loss.
Distributed
+Some other DVCSs
BitKeeper is no open source
+Warning!!! Git Ahead!
Information Manager from Hell
+What Git actually is?
Distributed Version Control System
Open source
Exists on each and every platform
+Brief History of Git
Designed and created by Linus Torvalds (the creator of linux
operating system)
Started Development on 3rd April 2005
First commit 7th April 2005
First Project : Linux Kernel with 6.7 million lines of code
+Some more praise for Git
Facilitate distributed development
Scale to handle thousand of developers
Perform quickly and efficiently
Maintain integrity and trust
Enforce accountability
Immutability
Answer to ‘Why Git?’
+Some more praise for Git
Atomic transactions
Support and encourage branched development
Complete repositories
Clean internal design
Answers to ‘Why Git?’
+Git : Practical Approach
Cygwin based Git
Native version : msysGit
Installing Git on Windows
+Git : Practical Approach
http://git-scm.com/download/win
Latest git installer is downloaded
Run the installer to install Git
It will install Git Bash and Git GUI
We will use Git Bash mainly and Git GUI or any other GUI tool
to visually see our changes
Installing Git on Windows
+Git : Practical ApproachInstalling Git on Windows
+Git : Practical ApproachInstalling Git on Windows
+Git : Practical ApproachInstalling Git on Windows
+Git : Practical ApproachInstalling Git on Windows
+Git : Practical ApproachInstalling Git on Windows
+Git : Practical ApproachInstalling Git on Windows
+Git : Practical ApproachInstalling Git on Windows
+Git : Practical ApproachInstalling Git on Windows
+The Git CycleProject
+The Git CycleFiles
+Git : Getting the hands dirty
+Command Line Interface
+Git : Initial SetupIdentify yourself
+Git: Ready, set, repo up!
+Git: A word about .git
+Git: Tracking Files
+Don’t you like VIM???… :SChanging the default editor
+Don’t you like VIM???… :SChanging the default editor
+That’s a lot of Git for today!