26. What Git is...
... a distributed version control and
source code management system.
27. What Git is...
... a distributed version control and
source code management system.
28. First off, Git is a version control system,
a simple command line tool for keeping a history on
the state of your source code projects.
You use it as you might use something like
Subversion, CVS or Perforce.
29. First off, Git is a version control system,
a simple command line tool for keeping a history on
the state of your source code projects.
You use it as you might use something like
Subversion, CVS or Perforce.
30. First off, Git is a version control system,
a simple command line tool for keeping a history on
the state of your source code projects.
You use it as you might use something like
Subversion, CVS or Perforce.
“cli”
snapshots,
38. You tell it to track files in your project and
periodically commit the state of the project when
you want a saved point.
You can share that history with
other developers for collaboration,
merge between their work and yours, and
compare or revert to previous versions of
the project or individual files.
39. You tell it to track files in your project and
periodically commit the state of the project when
you want a saved point.
You can share that history with
other developers for collaboration,
merge between their work and yours, and
compare or revert to previous versions of
the project or individual files.
40. Git is fully distributed, which means that it can
work almost entirely offline.
In contrast toVCS tools like Perforce or Subversion,
Git does nearly all of its operations without needing a
network connection, including history viewing,
difference viewing and commiting.
This means that Git is very fast compared to other
systems partially due to the fact that none of these
operations has any dependency on network latency.
41. Git is fully distributed, which means that it can
work almost entirely offline.
In contrast toVCS tools like Perforce or Subversion,
Git does nearly all of its operations without needing a
network connection, including history viewing,
difference viewing and commiting.
This means that Git is very fast compared to other
systems partially due to the fact that none of these
operations has any dependency on network latency.
42. Git is also very space efficient.
It is even smaller than the Subversion checkout,
which is pretty amazing, considering that
the Git clone contains the entire history of the project
— every version of every file back to the first commit,
whereas the Subversion checkout is just the last
version of the project.
43. Git is also very space efficient.
It is even smaller than the Subversion checkout,
which is pretty amazing, considering that
the Git clone contains the entire history of the project
— every version of every file back to the first commit,
whereas the Subversion checkout is just the last
version of the project.
44. Probably the most compelling feature of Git is
Gits branching model.
Instead of the popularVCS branching method of
simply cloning into a separate directory for a branch,
Git lets you switch between branches in
a single working directory.
Creating and switching between branches is
nearly instant, not all of your branches need to
be shared, and it’s easy to
stash partially completed work.
45. Probably the most compelling feature of Git is
Gits branching model.
Instead of the popularVCS branching method of
simply cloning into a separate directory for a branch,
Git lets you switch between branches in
a single working directory.
Creating and switching between branches is
nearly instant, not all of your branches need to
be shared, and it’s easy to
stash partially completed work.
46. Instead of only having branches for
major development line departures,
Git developers routinely create, merge and destroy
multiple branches a week, or even per day.
Often each feature or bug you are working on can have
its own branch, merged in only when it is complete.This
model allows you to experiment quickly, easily and
safely - without having to go through hoops to get back
to where you where. It enables and encourages a non-
linear development cycle, where you can work on
multiple lines of thought in parallel without them
stepping on each other.
47. Instead of only having branches for
major development line departures,
Git developers routinely create, merge and destroy
multiple branches a week, or even per day.
Often each feature or bug you are working on can have
its own branch, merged in only when it is complete.This
model allows you to experiment quickly, easily and
safely - without having to go through hoops to get back
to where you where. It enables and encourages a non-
linear development cycle, where you can work on
multiple lines of thought in parallel without them
stepping on each other.
48. As it is primarily a command line tool,
most of the examples in this course will
show the command line versions of the functions.
49. As it is primarily a command line tool,
most of the examples in this course will
show the command line versions of the functions.
50. As it is primarily a command line tool,
most of the examples in this course will
show the command line versions of the functions.
on
138. This is the main thing to remember about Git if
you want the rest of your
learning process to go smoothly.
Git has three main states that your files can reside in:
committed, modified, and staged.
139. This is the main thing to remember about Git if
you want the rest of your
learning process to go smoothly.
Git has three main states that your files can reside in:
committed, modified, and staged.
1 2 3
140. Committed means that the data is
safely stored in your local database.
Modified means that you have changed the file but
have not committed it to your database yet.
Staged means that you have marked a
modified file in its current version to
go into your next commit snapshot.
141. Committed means that the data is
safely stored in your local database.
Modified means that you have changed the file but
have not committed it to your database yet.
Staged means that you have marked a
modified file in its current version to
go into your next commit snapshot.
142. Committed means that the data is
safely stored in your local database.
Modified means that you have changed the file but
have not committed it to your database yet.
Staged means that you have marked a
modified file in its current version to
go into your next commit snapshot.
143. Committed means that the data is
safely stored in your local database.
Modified means that you have changed the file but
have not committed it to your database yet.
Staged means that you have marked a
modified file in its current version to
go into your next commit snapshot.
144. Committed means that the data is
safely stored in your local database.
Modified means that you have changed the file but
have not committed it to your database yet.
Staged means that you have marked a
modified file in its current version to
go into your next commit snapshot.